符号文件MyFile.pdb与模块不匹配 [英] The Symbol file MyFile.pdb does not match the module

查看:396
本文介绍了符号文件MyFile.pdb与模块不匹配的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我搜索过这个问题,发现了许多味道和想法,但没有真正的解决方案。



我管理的C#代码调用托管C ++代码,其中转而调用非托管C ++代码。非托管C ++代码抛出异常,我想能够通过它调试。但是,当我尝试(显式地,通过调用堆栈)加载符号,我得到的可怕的符号文件MyFile.pdb不匹配模块错误。



我猜这是一个通用的错误代码被返回,因为文件是从相同的构建。使用 chkmatch 工具似乎确认文件确实匹配。



任何帮助非常感谢...
wTs

解决方案

有价值的检查加载的dll的路径 - 你使用你认为你在哪里?



如果你使用增量构建,你可能还需要idb文件

我有一个问题,MSVC只是不想看到任何调试符号的时候,没有找到为什么,而是解决问题使用CrashFinder或windbg代替。



您可能希望在构建过程中使用symstore,以确保所有pdbs都被更可靠地捕获,这样您就可以跨多个也建立了一个文件。


I've searched on this issue, and found many flavors and ideas but no real solutions. So, donning my asbestos suit and hoping for the best, I'm going to dare ask it again.

I have managed C# code that calls managed C++ code, which in turn calls unmanaged C++ code. The unmanaged C++ code is throwing an exception, and I'd like to be able to debug through it. However, when I try to (explicitly, via the Call Stack) load the symbols, I get the dreaded "The symbol file MyFile.pdb does not match the module" error.

I'm guessing that this is a generic error code being returned, as the files are from the same build. Using the chkmatch tool would seem to confirm that the files do in fact match.

Any help much appreciated... wTs

解决方案

Might be worthwhile checking the path of the loaded dll - are you using the one you thought you where?

If you are using incremental builds, you might also need idb files

I had an issue where MSVC just didn't want to see any debug symbols at the time, didn't work out why, but instead worked around the issue using CrashFinder or windbg instead. Perhaps a reboot will get it working again.

You might like to use symstore during your build to ensure all the pdbs are captured more reliably, that way you can debug across multiple builds of a file too.

这篇关于符号文件MyFile.pdb与模块不匹配的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆