我有一個崩潰轉儲文件,需要使用windbg進行分析以運行一些測試。Windbg - 檢測崩潰轉儲所需的符號
由於一些限制,我無法評論,我的符號文件夾只能包含分析此故障轉儲所需的符號。
有沒有辦法知道轉儲所需的確切符號?如果有幫助,我可以首先在其他所有符號可用的環境中分析此轉儲。
謝謝。
我有一個崩潰轉儲文件,需要使用windbg進行分析以運行一些測試。Windbg - 檢測崩潰轉儲所需的符號
由於一些限制,我無法評論,我的符號文件夾只能包含分析此故障轉儲所需的符號。
有沒有辦法知道轉儲所需的確切符號?如果有幫助,我可以首先在其他所有符號可用的環境中分析此轉儲。
謝謝。
您可以使用!sym noisy
使Windbg轉儲出它所需要的符號並尋找它。 如果您使用本地緩存設置符號路徑,Windbg將只下載到本地緩存路徑中所需的符號。
如果您在機器上加載轉儲,強制加載所有符號,lml
命令將顯示所有加載的符號,並且您可以看到每個模塊加載符號的位置,只將這些pdb文件複製到目標受限環境中。
我不完全確定這是否可能。分析轉儲是一個動態過程,但您正在尋找一個靜態解決方案。除非你已經知道問題是什麼,否則不可能知道需要什麼符號。因此不可能知道需要什麼樣的符號。
即使做一件很簡單的事情,就像說「我只會提供在棧上有幀的DLL的符號」是不夠的。內存損壞或來自不在堆棧中的DLL的全局變量可能會影響程序的行爲。將該DLL的符號留出可能會妨礙對問題的診斷。
一種方法,雖然這將產生不錯的結果將是以下
也可以使用下面的命令:
lml
運行「分析-v」來顯示WinDbg的加載或試圖加載哪些符號之後。
這是定義上我正在尋找的答案。經過一些更多的研究之後,我使用命令!sym noisy(space between)和srv * localpath * resourcepath來下載所需的符號。非常感謝你。 – 2009-10-20 11:08:25