WinDbg 設定 symbol file path 的四種方法

有一陣子沒用 WinDbg 來進行偵錯,再次感受到年紀的影響,指令忘得很乾淨XD 當然 WinDbg 的指令對我而言本來就沒有記得很牢,忘得快也是意料中的事,剛好最近用到的機會高一些,每次查指令也滿花時間的,所以趁著連假時間做個紀錄以利之後追查問題可以再加快速度。

首先就來看看如何設定 symbol file path ,雖然 symbol file path 沒有特別設定也可以正常使用,不過每次都重新下載 symbol file 既耗時又浪費網路頻寬,因此透過設定 symbol file path 讓已經下載過的 symbol file 可以重用讓偵錯流程可以再加快,把握時間找出真正的問題

symbol file path 格式

  • 語法格式

    srv*{cache path}*{symbol server}
    
  • 實際範例

    srv*D:\Symbol*https://msdl.microsoft.com/download/symbols
    

A. 使用 WinDbg GUI

  1. 主選單 File –> Sympol File Path ...

    1guisetting

  2. Symbol path 填入

     srv*D:\Symbol*https://msdl.microsoft.com/download/symbols
    

    2symbolpath

B. 使用 CLI

windbg.exe -y srv*D:\Symbol*h
ttps://msdl.microsoft.com/download/symbols

3cli

C. 使用 WinDbg 內建指令列

  1. 主選單 File –> Open Crash Dump ...

    4opendump

  2. 執行下列指令

    .sympath srv*D:\Symbol*https://msdl.microsoft.com/download/symbols
    

    5sympath

D. 使用環境變數

使用 SETX 指令

SETX _NT_SYMBOL_PATH srv*D:\Symbol*https://msdl.microsoft.com/download/symbols

6setx

心得

設定完成後可以在 WinDbg 的 command prompt 中執行 !sympath 確認使用中的 symbol path

7sympathresult

參考資訊

  1. Setting Symbol and Executable Image Paths in WinDbg
  2. Symbol path for Windows debuggers
  3. Setting and getting windows environment variables from the command prompt?