簡介
STATUS_BREAKPOINT,值為0x80000003,稱為中斷指令異常,表示在系統未附加內核調試器時遇到斷點或斷言。
觸發條件
通常中斷指令異常可以在以下條件下觸發:
- 硬代碼中斷請求,如:asm int 3
- System.Diagnostics.Debugger.Break(C 35)
- DebugBreak()(WinAPI)
- 操作系統啟用內存運行時檢查,就像應用程序驗證程序在堆損壞、內存溢出后會觸發一樣。
- 編譯器可以有一些配置來啟用未初始化的內存塊和函數結束時應填充的內容(在重新運行..后的空白區域)。例如,如果啟用/GZ,Microsoft VC編譯器可以填充0xCC。0xCC實際上是asm int 3的操作碼。所以如果某個錯誤導致應用程序運行到這樣的塊中,就會觸發一個斷點。
異常結構填充
ExceptionAddress: 038cbae3 (libcef!base::debug::BreakDebugger+0x00000009)//中斷觸發地址
ExceptionCode: 80000003 (Break instruction exception)//異常代碼
ExceptionFlags: 00000000
NumberParameters: 1
Parameter[0]: 00000000
