崩溃转储-WinDbg-强制PDB文件匹配不起作用? [英] Crash dump - WinDbg - force PDB files to match doesn't work?
问题描述
我有一个客户应用程序的故障转储,该应用程序使用我们在WinDbg中进行分析的非常老版本的dll(发行版本,没有原始符号)构建。
I have a crash dump for a customer's application built with a very old version of our dll (release build, don't have original symbols) that I've been analyzing in WinDbg.
为了获得更多信息,我这次使用相同的编译器版本在释放模式下重新构建了dll,并带有符号,并且我相信与最初构建dll时相同的设置。我将符号文件添加到了符号路径中,但是WinDbg扩展名!itoldyouso告诉我转储中的模块与PDB文件不匹配。启用SYMOPT_LOAD_ANYTHING也无济于事。
In order to get more information, I rebuilt the dll in release mode, with symbols this time, using the same compiler version and I believe the same settings as when the dll was originally built. I added the symbol file to my symbol path, but the WinDbg extension !itoldyouso tells me the module in the dump doesn't match the PDB file. Enabling SYMOPT_LOAD_ANYTHING doesn't help either.
!itoldyouso告诉我它们不匹配,因为该模块没有pdb sig(值0),而重新创建了符号文件制作(带有有效的pdb sig)。我该如何匹配它们?
!itoldyouso tells me they don't match because the module has no pdb sig (value 0), versus the recreated symbol file I made (with a valid pdb sig). How do I get them to match?
推荐答案
您是否尝试过 .reload / i foo.dll
?
要进行详细输出,请尝试:
For verbose output try:
!sym嘈杂; .reload / i foo.dll; x foo!* test *
这篇关于崩溃转储-WinDbg-强制PDB文件匹配不起作用?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!