我的应用程序有时会在Win XP计算机上导致BSOD。试图找到更多,我加载了生成的* .dmp文件(来自C:\ Windows \ Minidump),但在大部分读数时收到此消息:
*********************************************************************
* Symbols can not be loaded because symbol path is not initialized. *
* *
* The Symbol Path can be set by: *
* using the _NT_SYMBOL_PATH environment variable. *
* using the -y <symbol_path> argument when starting the debugger. *
* using .sympath and .sympath+ *
*********************************************************************
这意味着什么,以及如何“修复”它?
答案 0 :(得分:10)
我经常转到系统控制面板,然后转到高级选项卡,然后转到环境。然后,您可以添加必需的_NT_SYMBOL_PATH
变量。然后,在运行WinDbg之前,您无需在命令行上执行任何操作。
员工建议的srv*C:\Windows\Symbols*http
://msdl.microsoft.com/download/symbols
设置很好。我通常更喜欢使用自己的配置文件来存储符号(因此我不需要编辑C:\Windows\Symbols
的权限,因为我故意以有限的用户身份运行,以获得良好的安全卫生)。因此(在我的情况下)我的_NT_SYMBOL_PATH
是srv*C:\Documents and Settings\cky\symbols*http
://msdl.microsoft.com/download/symbols
。
希望这会有所帮助。 : - )
答案 1 :(得分:9)
快速回答是
C:\&GT; set _NT_SYMBOL_PATH = SRV * C:\ WINDOWS \ Symbols * http://msdl.microsoft.com/download/symbols
在启动windbg之前。
答案 2 :(得分:4)
更快的答案:
!symfix
但它只影响当前的windbg / ntsd / cdb / kd。
答案 3 :(得分:3)
您实际上需要将符号下载到您的计算机,或者如果您在调试时在线,则将其配置为下载。
以下是详细讨论此内容的链接:http://www.microsoft.com/whdc/DevTools/Debugging/debugstart.mspx
答案 4 :(得分:1)
正如@Vaibhav所说,你实际上需要下载符号并配置windbg来使用它们。
另请注意以下事项: !sym noisy - 激活嘈杂的符号加载 lm v - 使用“m”参数查看已加载模块的信息。 lme D sm - 列出所有没有符号的模块。