為WinDbg設定符號檔案路徑

epluguo發表於2013-07-01

WinDbg可以通過載入Symbol檔案(*.pdb),即時的除錯程式。

WinDbg如何找到相應的符號檔案呢?

WinDbg首先在.exe或者.dll所在目錄下尋找同名的.pdb檔案。如果找不到,WinDbg在Symbol File Path中查詢。Symbol File Path可以通過多種方式設定:
1、通過WinDbg選單File->Symbol File Path(Ctrl+S)設定。

在彈出的視窗中輸入你的符號路徑,路徑的格式只要符合Windows作業系統路徑格式即可,路徑可以多個,中間以分號間隔,d:\SymbolsLocal

Windbg可以自動到Microsoft的伺服器上下載符號表檔案(.dbg或.pdb,有時DLL和EXE也會下載),只要在符合表路徑裡做如下設定:srv*d:\SymbolsLocal*http://msdl.microsoft.com/download/symbols,這樣如果相關符號表在d:\SymbolsLocal目錄沒有找到的話,Windbg會自動在Microsoft的Symbol Servers上下載。

如果你是除錯自己的應用程式的話,建議你將自己應用程式的*.pdb檔案的路徑放在前面這樣對Windbg來說查詢起來比較快。如:在windbg的file/symbol file path對話方塊裡輸入以下文字,以便自動載入和下載符號C:\WINDOWS\Symbols;d:\Program Files\Microsoft Visual Studio 8\SDK\v2.0\symbols;.sympath SRV*d:\SymbolsLocal*http://msdl.microsoft.com/download/symbols

2、當前環境變數中如果存在_NT_SYMBOL_PATH,則WinDbg通過此環境變數設定的路徑查詢。_NT_ALT_SYMBOL_PATH是另一個選擇。

3、WinDbg提供命令列引數-y設定Symbol File Path。

4、在WinDbg中使用命令.sympath設定。

5、最後一種,WinDbg的幫助中沒有提到,通過登錄檔設定:HKLM\SOFTWARE\Microsoft\Symbol Server Proxy\Web Directories\symbols下,設定SymbolPath,型別為REG_EXPAND_SZ。可以通過命令列直接新增:

reg add "HKLM\SOFTWARE\Microsoft\Symbol Server Proxy\Web Directories\symbols" /v SymbolPath /t REG_EXPAND_SZ /f /d c:\windows\symbols;SRV*d:\symbols*http://msdl.microsoft.com/download/symbols


相關文章