windbg 下载符号表
时间: 2023-06-26 10:01:51 浏览: 87
### 回答1:
Windbg 是一种在 Windows 操作系统下进行调试的工具,可以帮助开发人员识别并解决程序中的错误。由于 Windows 使用符号表(Symbol tables)来存储可执行文件和模块文件中的符号名称和地址信息,所以为了更准确地调试程序,我们需要下载符号表。
Windbg 自带了一个命令行程序名为 SymChk,它可以搜索符号服务器以获取可执行文件和程序库的符号表。下面是下载符号表的步骤:
1. 打开 Windbg。
2. 在 Windbg 中打开需要调试的程序。此时,Windbg 可能会提示无法加载符号文件。
3. 在 Windbg 的命令行界面中,输入以下命令:
.sympath SRV*c:\symbols*http://msdl.microsoft.com/download/symbols
其中,c:\symbols 是本地符号目录,通常情况下是新建一个空文件夹作为符号目录;http://msdl.microsoft.com/download/symbols 是微软的符号服务器地址。
4. 输入以下命令以开始下载符号表:
.symfix c:\symbols
这个命令是告诉 Windbg 将符号文件存储到指定的符号目录。
5. 最后,在 Windbg 的命令行中输入命令:
.reload /f
这个命令告诉 Windbg 重新加载程序和所有的符号表文件。
完成上述步骤之后,Windbg 就可以正确地显示程序的符号信息了。需要注意的是,如果程序使用的是自定义的符号文件而不是 Microsoft 的符号文件,则需要将符号文件添加到符号路径中。
### 回答2:
Windbg是Microsoft Windows操作系统上一种强大的调试工具,能够帮助开发者/程序员追踪和解决程序在运行时出现的各种问题。在进行Windbg调试的过程中,符号表显得尤为重要。符号表是一种包含源代码、二进制代码和调试信息的文件,它可以帮助调试器将二进制代码映射到源代码的行数和函数名上。
在Windbg中下载符号表有以下几个步骤:
第一步:打开Windbg,按"F12"键打开"命令"窗口。
第二步:在"命令"窗口中输入下列命令之一,以下载目标文件的符号表:
- .symfix c:\symbols:将符号表下载到c盘上的symbols文件夹中。
- .sympath+ C:\path_to_your_symbols:在已有的符号路径中添加一个路径。
- .symproxy (proxy server):(port):在符号路径前面添加代理。
第三步:输入"!sym noisy"命令可以打开符号下载的详细输出,并且确认符号表下载正在进行。
第四步:下载完成后,在Windbg的左部窗口"Modules"中选择想要观察的模块,右键点击该模块,在弹出的菜单中选择"Symbol Load Information",即可查看符号加载的情况。
通过以上步骤,我们可以轻松下载到符号表,并且在调试程序时得到更准确和详细的调试信息,从而更好地定位和解决程序的问题。