简体   繁体   English

使用不同的dll和pdb的Visual Studio 2012调试

[英]Visual Studio 2012 debug using different dll and pdb

I am trying to open a dump file using Visual Studio 2012 but there are some PDB files missing. 我正在尝试使用Visual Studio 2012打开转储文件,但缺少一些PDB文件。

Is there a way to make the debugger use another PDB file, built on my machine? 有没有办法使调试器使用在我的计算机上构建的另一个PDB文件? Unfortunately, I can't access the original DLLs and PDBs. 不幸的是,我无法访问原始的DLL和PDB。

I'm trying to open my PDBs using the "Browse and find ***.dll..." button but I'm getting an error message saying "a matching symbol file was not found in this folder" 我正在尝试使用“浏览并找到***。dll ...”按钮打开我的PDB,但是却收到一条错误消息,提示“在此文件夹中找不到匹配的符号文件”

Visual Studio does not have an option to ignore mismatched symbols. Visual Studio不能忽略符号不匹配的选项。 Other debuggers (like WinDbg) have that. 其他调试器(如WinDbg)具有该功能。

ChkMatch is able to modify a PDB file so that Visual Studio does not recognize the difference any more. ChkMatch能够修改PDB文件,以便Visual Studio不再能够识别差异。 However, the result is what it is: even a slight modification might cause the compiler to emit totally different code. 但是,结果就是这样:即使稍作修改也可能导致编译器发出完全不同的代码。 What you see in Visual Studio may be totally misleading. 您在Visual Studio中看到的内容可能完全令人误解。 See this answer for details. 有关详细信息,请参见此答案

Be warned: delete the modified file immediately after your investigation or you will hunt ghost bugs sooner or later. 警告:调查后立即删除修改后的文件,否则您迟早会发现幽灵漏洞。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM