VS IDE和WinDbg表示找不到符号文件

问题描述 投票:0回答:1

因此,我主要使用VS IDE进行调试。我得到了一个转储文件,并尝试对其进行事后分析。除了一个以外,所有DLL都加载了各自的PDB,我不知道为什么。此信息将有助于确定转储文件是否以某种方式损坏或客户端是否具有损坏的DLL。

我还尝试使用WinDbg调试它,我对此有一些经验,但经验不足。我将符号路径更新到了具有正确构建的PDB的目录,以及也可能与之匹配的其他一些目录。我加载了转储文件,并且该DLL没有找到匹配的PDB文件。

所以问题是,是什么防止特定的PDB与转储文件不匹配,我如何找出该信息是什么?

debugging windbg visual-studio-debugging pdb-files
1个回答
0
投票

符号具有哈希值和时间戳。两者都需要匹配才能加载符号。在WinDbg中,有一个选项可以强制加载不匹配的符号(.symopt+ 0x40)。 Visual Studio没有此类选项,因此您需要使用chkmatch使符号匹配。请注意,这是危险的操作,因为它会修改PDB文件。完成后,您应该创建备份副本并删除修改后的文件。

我将符号路径更新为具有PDB的目录

您应该设置一个符号服务器。使用符号服务器,无需查找符号或配置目录。

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.