有没有办法用新的源位置更新 PDB 文件?我有一个项目,它链接到一些在另一台机器上构建的库,并使用 PDB 文件进行调试构建。我无法在库中编译的文件中放置断点。这些库需要 4 个多小时才能构建,所以我不想在我的机器上构建它们。有没有办法让编译器使用新的源路径。我正在使用 VS 2005 pro c++。
谢谢阿米特
调试器是否从错误的位置拾取.pdb
文件?您是否有与您正在执行的二进制文件(即).pdb
相匹配的文件副本?请记住,这些文件只有在与您正在执行的确切二进制文件同时创建时才能使用。.exe
.dll
.pdb
尝试以下操作:
重命名调试器想要加载的(陈旧的).pdb
文件,这样调试器就不会再尝试拾取它。
转到Tools->Options->Debugging->Symbols
并将符号文件 ( .pdb
) 位置添加到列表中。
如果已附加调试器,请右键单击“模块”列表中的模块,然后单击“加载符号”。这将从您输入的路径重新加载符号。
此外,如果您知道代码完全相同,但您的.pdb
文件与您使用的二进制文件不匹配,因为它们是在不同的构建期间创建的,请尝试取消选中以下复选框:
Tools->Options->Debugging->Require source files to exactly match the original version
您应该能够让调试器看到新的源路径,而不是修改.pdb
文件以适应您拥有源代码的位置。在此处查看有关在 Visual Studio 中执行此操作的说明,并在此处查看有关在 WinDbg 中执行此操作的说明。
另一个 StackOverflow 问题:Best Visual Studio 2008 调试教程。