架設Debug 環境:
1. 在Host端電腦安裝Windows Debugger Tool, 可以至微軟官方網站下載,以下連結的windows debug可以support到windows 8 版本.
http://msdn.microsoft.com/en-US/windows/hardware/hh852363
2. 安裝USB Cable驅動程式,(Driver需為Microsoft)
3. 確認Target端電腦的OS版本為「checked build」, 才能夠使用windebug來debug, 不然需要置換acpi.sys檔為checked build的版本。free build 的版本是不support的。
4. 在Target端開啟debug port, 開啟方式為執行>msconfig, 開機>進階,勾「偵錯」, port選擇「USB」, 目標名稱可以自己命名。然後重開機。
5. 在Host端電腦開啟Windbug程式,設定symbol檔,File> Symbol File Path...,可以設微軟的symbol伺服器,也可以下載至本機,設本機路徑。
http://msdl.microsoft.com/download/symbols
6. 開啟kernel debug, 檔File>kernel debug, 選擇USB並設定目標名稱。
若顯示Write to USB表示已連結上
ACPI deubg:
1. 在Host端電腦和Target端電腦已連結上後,先break 系統。
2. reload symbol file, 請下!reload 指令
3. 執行Amli debugger, 請下!amli debugger 指令,然後讓系統繼續執行,下g指令。
4. 此時,只要發生個SCI就能進入AMLI指令列, AMLI ->。如插拔AC、S3等等。
5. 在出現AMLI->之後,我們要設定AMLI的執行模式,一般只要下Set Verboseon和spewon即可,再下g讓系統繼續執行。
此後有跑到ASL code的時候,都能在win debug視窗看到囉!
Amli指令表:
BSOD:
當我們的OS發生藍色畫面時,會產生memory dump file,會存放在C:\windows\minidump 資料夾中,我們可以把這mini memory dump file 複製到有安裝Win debug的電腦中來分析其原因。
1. File>open crash dump...
2. 接下來要先reload symbol.然後再下!analyze -v 指令, 就能分析該dump file 死在哪支Driver,一般會是xxxx.sys
有關analyze指令:
User-Mode
!analyze [-v] [-f | -hang] [-D BucketID] !analyze -c [-load KnownIssuesFile | -unload | -help ]Kernel-Mode
!analyze [-v] [-f | -hang] [-D BucketID] !analyze -c [-load KnownIssuesFile | -unload | -help ] !analyze -show BugCheckCode [BugParameters]
沒有留言:
張貼留言