我在这个问题上搜索了,发现了许多风格和想法,但没有真正的解决方案。所以,穿上我的石棉西装并希望最好的,我要敢再问。

我已经托管c#代码调用托管的c ++代码,这又调用了非托管的C ++代码。非托管的C ++代码抛出异常,我希望能够通过它进行调试。但是,当我尝试(明确地通过调用堆栈)加载符号时,我得到了可怕的“符号文件myfile.pdb与模块不匹配”错误。

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

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

有帮助吗?

解决方案

可能值得检查加载的DLL的路径 - 你使用你认为你的那个吗?

如果您使用的是增量构建,您也可能需要IDB文件

我有一个问题,MSVC只是不想当时看到任何调试符号,没有耗尽原因,而是使用Crashfinder或WindBG来解决这个问题。也许重新启动将再次工作。

您可能希望在构建过程中使用Symstore,以确保更可靠地捕获所有PDB,这样您也可以在文件的多个构建中调试。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top