2015-12-21 26 views
2

如果我有一個贏取應用程序的轉儲,我怎樣才能配置windbg調試器不「錯誤地誘導我」通過顯示模塊我不沒有任何私人符號是它知道的最近的符號。我希望具有未知符號的函數只是打印地址,而不是任何符號信息+偏移量,這些信息與偏移量無關,可能會造成混淆。例如: -配置windbg不顯示「錯誤符號」的模塊沒有符號

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

這裏你可以看到CopyPropertyHolder,但在所有情況下的相應的功能開始符號是不知道,它並不能幫助我的事實,地址是從已知的東西計算。

+1

WinDbg的使用從DLL作爲開始出口,並增加了偏移。我不知道這是否可以禁用。這真的很煩人嗎? – magicandre1981

回答

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 
+0

正是我需要的。 – Ghita

+0

不錯的發現。我將把這個.symopt命令添加到我的cmdtree文件中。 – magicandre1981