尝试读取转储时“无法加载符号”

时间:2008-08-15 06:52:00

标签: windows windows-xp crash-dumps bsod

我的应用程序有时会在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+                                    *
*********************************************************************

这意味着什么,以及如何“修复”它?

5 个答案:

答案 0 :(得分:10)

我经常转到系统控制面板,然后转到高级选项卡,然后转到环境。然后,您可以添加必需的_NT_SYMBOL_PATH变量。然后,在运行WinDbg之前,您无需在命令行上执行任何操作。

员工建议的srv*C:\Windows\Symbols*http//msdl.microsoft.com/download/symbols设置很好。我通常更喜欢使用自己的配置文件来存储符号(因此我不需要编辑C:\Windows\Symbols的权限,因为我故意以有限的用户身份运行,以获得良好的安全卫生)。因此(在我的情况下)我的_NT_SYMBOL_PATHsrv*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 - 列出所有没有符号的模块。