用于查找dll(或)exe和PDB文件是否匹配的工具

Pra*_*bhu 19 debugging visual-c++

有没有工具来检查DLL和PDB是否匹配?我需要调试一个进程,我不能使用错误的PDB并重新启动进程.

Pra*_*bhu 16

发现chkmatch工具可以找到这个.看一下这个..

  • @denfromufa - 您可以扩展您的评论以表明您的意思 - 为什么此工具不会执行给定的功能.说它已经过时并没有告诉我们出了什么问题. (4认同)
  • ChkMatch 自 2004 年以来就没有更新过。这本身并不是坏事,但它有一个严重的错误,导致它在没有不匹配的情况下报告 PDB 不匹配。问题是 PDB 中存储了两个“年龄”,而 ChkMatch 检查了错误的一个。这通常有效(这就是工具附带此错误的原因),但如果 PDB 已进行源索引,则即使没有不匹配,也会报告不匹配。有关详细信息,请参阅我的博客上的此评论:https://randomascii.wordpress.com/2011/11/11/source-indexing-is-underused-awesomeness/#comment-34328 (2认同)

den*_*ufa 5

这是一篇介绍工具symchk.exe 的好文章

您可以为此使用WINPDB:打开符号诊断消息,然后重新加载符号:

!sym noisy
.reload -f your.dll
Run Code Online (Sandbox Code Playgroud)

输出显示正在尝试的PDB文件位置,如果不匹配,将发出警告