强制在Visual Studio 2015调试器中加载不匹配的符号

时间:2016-07-01 14:05:11

标签: c++ windows debugging visual-studio-2015 windbg

我正在使用Visual Studio 2015调试用户模式崩溃转储文件。但符号不匹配。

在WinDbg中有一个命令行.reload /f /i,其中/i忽略将PDB文件绑定到可执行文件的时间戳。 Visual Studio调试器中是否有类似的东西,它会忽略PDB文件的时间戳并加载这些文件?

是否有使用Visaul Studio 2015调试器的命令行和命令,我可以获得更多控制权?此外,我找不到在哪里可以设置源代码路径。有可能吗?

下面是给出符号路径的屏幕。没有地方可以输入(任意)标志来强制它加载这些符号。我知道强制不匹配的符号并不合适,但我只是没有原始的符号。

Screen shot of symbol settings - no place to enter flag to force it to load

1 个答案:

答案 0 :(得分:9)

Visual Studio中没有.reload /i之类的命令。

如果您别无选择,请使用ChkMatch。它有一个命令行开关(-m),它修改PDB文件以匹配可执行文件。

对这种修改过的PDB要非常小心,因为例如WinDbg也会接受它们,不再警告您可能会有不准确的结果。我的建议是:

  • 在调试会话后立即删除此类文件或
  • 将它们放入名为ForcedMatchingSymbols或类似
  • 的目录中