WinDbg 預覽在開始除錯可執行檔案后立即中斷:
(3bf4.2318): Break instruction exception - code 80000003 (first chance)
ntdll!LdrpDoDebuggerBreak 0x30:
00007ffe`d84e06b0 cc int 3
我將會繼續:
0:000> g
它將輸出一系列ModLoad: .NET 和 OS 檔案的行,然后是關于第一次機會例外的類似輸出:
(3bf4.2318): Unknown exception - code 04242420 (first chance)
在前面的輸出中,我理解代碼表示例外的型別。但是代表3bf4.2318什么呢?為什么該值與與中斷指令例外相關的第一個輸出中的值相同,即使現在它宣告了未知例外?
uj5u.com熱心網友回復:
這是發生例外的行程 ID 和執行緒 ID。我不知道該輸出是否在 WinDbg 檔案的深處進行了描述。但是您可以在初始斷點上輕松驗證
(5130.710): Break instruction exception - code 80000003 (first chance)
并將其與行程狀態 (MSDN) ( |) 進行比較
0:000> |
. 0 id: 5130 create name: Test.exe
以及具有相同格式但沒有括號的執行緒狀態 (MSDN) ( ~):
0:000> ~
. 0 Id: 5130.710 Suspend: 1 Teb: 00c7c000 Unfrozen
行程和執行緒資訊可能很有用,因為
a) WinDbg 能夠同時除錯許多行程(例如.childdbg和.attach)和
b) 您可以在~~[<Thread ID>]s命令中使用它來切換到執行緒
0:007> ~~[710]s
[...]
0:000>
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/363834.html
