gpt4 book ai didi

debugging - Microsoft Windows 调试工具中的符号?

转载 作者:行者123 更新时间:2023-12-03 08:17:07 25 4
gpt4 key购买 nike

Microsoft debugger 中“符号”的需要/用途是什么? ?

前段时间我花了一些时间试图弄清楚调试器,但从来没有弄明白它有什么意义(我正在尝试调试服务器挂起...)。我的部分问题是没有正确的“符号”。

它们是什么?为什么我需要它们?我不只是在寻找文字吗?

有没有比 How to solve Windows system crashes in minutes 更好的使用它的链接? ?

最佳答案

您需要符号才能将地址​​转换为有意义的名称。例如,您在每次函数调用时在堆栈上都有位置:

0x00003791
0x00004a42

符号允许调试器将这些地址映射到方法

0x00003791 myprog!methodnamea
0x00004a42 myprog!methodnameb

当您构建程序的调试版本时,编译器会发出扩展名为 .PDB 的符号。它还包含行信息,因此您可以进行源代码调试等。

您需要正确设置符号搜索路径,以便调试器选择它。在命令窗口中你可以做

.sympath c:\symbols;c:\temp\symbols

为了让它在这些目录中搜索 .PDB。它还将在运行可执行文件的同一目录中查找。

使用 Microsoft 公共(public)符号服务器也可能会有所帮助,这样您就可以解析 OS 二进制文件,例如 NTDLL、GDI 等。开头为以下路径:

.sympath SRV*c:\websymbols*http://msdl.microsoft.com/download/symbols;c:\symbols

您需要先创建 c:\websymbols。

关于debugging - Microsoft Windows 调试工具中的符号?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1396484/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com