配置windbg不显示"错误的符号"对于没有符号的模块

时间:2015-12-21 15:50:57

标签: debugging windbg

如果我有一个win应用程序的转储,我怎样才能将windbg调试器配置为不会导致我出错?"通过向我展示模块,我没有任何私人符号,它知道最近的符号。我希望具有未知符号的函数只打印地址,而不是任何符号信息+偏移,它们没有相关性并且可能会混淆。 E.g:

 Plg!CopyPropertyHolder+0x42fae
 Plg!CopyPropertyHolder+0x43151
 Plg!CopyPropertyHolder+0x431d5
 Plg!GetWPXFilterVersion+0xe8

在这里你可以看到CopyPropertyHolder,但是在所有情况下,相应函数的起始符号都是未知的,并且它不能帮助我解决地址是从已知的事物计算出来的事实。

1 个答案:

答案 0 :(得分:3)

您看到的是导出符号。实际上,函数名称不匹配,可能会产生误导。

使用.symopt+ 400(SYMOPT_EXACT_SYMBOLS),您可以关闭导出符号(或更好,打开精确符号):

0:000> k L3
[...]
02 00000000`0012c390 000007fe`e29cef0f Qt5Core!QEventDispatcherWin32::processEvents+0x2ba

0:000> .symopt+ 400
Symbol options are 0x30737:
[...]

0:000> k L3
[...]
02 00000000`0012c390 000007fe`e29cef0f Qt5Core+0x222b1a