为什么VS 2010会忽略_NT_SYMBOL_PATH?

时间:2013-07-31 21:08:45

标签: visual-studio-2010 visual-studio-debugging

VS 2010处理符号文件的分辨率与其他MS产品不同吗? Repro步骤:

  1. 打开控制面板并确保将_NT_SYMBOL_PATH设置为有效的内容,例如SRV * C:\ DebugSymbols * \ buildserver \ Builds \ Symbols * http://msdl.microsoft.com/download/symbols
  2. 使用 windbg VS 2012 =>打开一个小型转储文件调试器成功加载符号
  3. 使用 VS 2010 =>打开相同的minidump文件调试器失败以查找符号
  4. 打开VS中的“选项”对话框,并将调试符号路径设置为上面的相同路径。 (关闭VS时将保存此设置。)
  5. 使用 VS 2010 =>打开相同的minidump文件调试器成功加载符号
  6. 我们部门的所有机器上的这个复制品。手动设置路径是一次性操作,它在开发盒上很好,但在实验室中,VM经常被重新成像,这是一个很大的痛苦。

    2010年是否使用其他工具不具备的其他环境变量?

    VS是否有主设置文件,每个用户的CurrentSettings.vssettings都会覆盖它?

1 个答案:

答案 0 :(得分:1)

经过多次询问并搜索网页后,我发现了一个可靠的来源

  

_NT_SYMBOL_PATH是一个环境变量,由VS用来加载符号的相同组件使用,但VS不使用它。

我认为此评论特定于VS 2010(未经证实)。我无法在VS 2012中重现该问题。

这与另一个更常见的问题有关,即VS会忽略本地缓存,导致性能问题,即使它是在_NT_SYMBOL_PATH中设置的。

解决方法是在VS 2010中手动设置路径,或者(更好)在VS 2012中打开崩溃转储。