-1
我有一个使用C++ DLL的C#项目。我正在尝试调试DLL,但Visual Studio报告说我的DLL中的“PDB与映像不匹配”。C#项目使用的C++ DLL调试
- C++ DLL由我构建,在同一个解决方案中同时生成DLL和完整的PDB。
- C++ DLL被标记为C#项目的依赖项。
- 它设置的C#项目将DLL文件复制到输出目录,如果它比现有的更新。
- C#项目启用了“启用调试本机代码”。
模块窗口下的DLL的符号加载信息显示找到正确的PDB,但抱怨“PDB与映像不匹配”。尽管这是由Visual Studio在DLL的旁边构建的PDB。
使用谷歌搜索这个错误只能让人们询问发生了什么问题,但从未提供答案。
当发生这样的奇怪事情时,我会做以下事情:1.在解决方案和PATH中按名称搜索所有dll实例,并将其全部删除。搜索所有的dll pdb文件并将其删除。仅使用要调试的配置重建dll项目(例如,x64/Debug)。 2.重建c#项目并尝试再次调试。在大多数情况下,错误是由于使用的dll版本与我以前使用的不同而导致的。 –
单独的项目没有这个问题。 – lsalamon