本篇文章參考
Debugging Tools for Windows
Preparation
Host Computer (with USB3.0 port)
-
windows-10-sdk
Target Computer (with USB3.0 Debug port)
USB 3.0 Debug Cable (A-A crossover, no VBus)
Setup Target Computer
1. 使用UsbView.exe來確認該port是否能Debug(Is Port Debug Capable: yes)。
2. 紀錄該port的xHCI Controller的Bus、Device和Function的number。
3. 使用系統管理員權限開啟command prompt,並輸入以下命令
bcdedit /debug on
bcdedit /dbgsettings usb targetname:TargetName
TargetName為自行命名。
4. 將step2 所記下的資訊帶入以下命令
bcdedit /set "{dbgsettings}" busparams b.d.f
5. 重新開機。
Setup Host Computer
1. 安裝Windows SDK
2. 安裝WinDbg的USB driver
(預設路徑:C:\Program Files (x86)\Windows Kits\10\Debuggers\x64\usb)
使用WinDbg
1. 開啟WinDbg
(C:\Program Files (x86)\Windows Kits\10\Debuggers\x64\windbg.exe)
2. 點選"File" > "Kernel Debugging"
3. 標籤頁切換到"USB",並輸入Setup Target Computer step 3的TargetName
3. 按下確定,開始執行WinDbg
設定Symbols
https://docs.microsoft.com/en-us/windows-hardware/drivers/debugger/symbol-path
.sympath
設定Debugger所要參考的symbol file的位置。
.sympath srv*c:\MyServerSymbols*https://msdl.microsoft.com/download/symbols
使用Microsoft Public Symbol Server
https://msdl.microsoft.com/download/symbols 所提供的symbol並把local端的c:\MyServerSymbols 用來存放symbols。
或使用 "File" > "Symbol File Path ..." (Ctrl+S) 來設定。
2020/06/02 Note
最近嘗試用這樣的方式設symbol path會遇到ERROR_INTERNET_CANNOT_CONNECT無法
load symbol的情況。
所以參考how-to-specify-symbol-file-locations-from-the-command-line的方式,將
_NT_SYMBOL_PATH設成系統的環境變數,就能正常load到symbol。
Modules
lm
列出已載入的Modules
m PATTERN - 指定符合PATTERN的Module
ex: lm m a* 為列出所有a開頭的Modules
.reload
重新從Symbol Path載入Modules