WinDbg常用命令系列---異常相關操作


.exr (Display Exception Record)

.exr命令顯示異常記錄的內容。
.exr Address 
.exr -1

參數:

  • Address
    指定異常記錄的地址。如果指定-1作為地址,調試器將顯示最新的異常。
環境:

模式

用戶模式下,內核模式

目標

實時、 崩潰轉儲

平台

全部

.exr命令顯示與調試器在目標計算機上遇到的異常相關的信息。顯示的信息包括異常地址、異常代碼、異常標志和異常參數的變量列表。 通常可以通過使用!pcr擴展命令獲取地址。
下面的例子是在dmp文件里的演示
這個是一個具體異常記錄地址
0:000> .exr 010fd1c8
ExceptionAddress: 694c4b4c (nvoglv32!DrvPresentBuffers+0x000c19fc)
   ExceptionCode: c0000005 (Access violation)
  ExceptionFlags: 00000000
NumberParameters: 2
   Parameter[0]: 00000000
   Parameter[1]: 4592e000
Attempt to read from address 4592e000

 這個地址用-1的結果

0:000> .exr -1
*** ERROR: Symbol file could not be found.  Defaulted to export symbols for nvoglv32.dll - 
ExceptionAddress: 694c4b4c (nvoglv32!DrvPresentBuffers+0x000c19fc)
   ExceptionCode: c0000005 (Access violation)
  ExceptionFlags: 00000000
NumberParameters: 2
   Parameter[0]: 00000000
   Parameter[1]: 4592e000
Attempt to read from address 4592e000

.cxr (Display Context Record)

.cxr命令顯示保存在指定地址的上下文記錄。它還設置寄存器上下文。
.cxr [Options] [Address] 

參數:

  • Options
    可以是以下選項的任意組合:
    /f Size---強制上下文大小等於Size的值(字節)。當上下文與實際目標不匹配時(例如,在WOW64調試期間在64位目標上使用x86上下文時),這將非常有用。如果指定的大小無效或不一致,將顯示錯誤“無法將上下文轉換為規范格式”。
    /w---將當前上下文寫入內存,並顯示其寫入位置的地址。
  • Address
    系統上下文記錄的地址。省略地址不會顯示任何上下文記錄信息,但會重置寄存器上下文。
 環境:

模式

用戶模式下,內核模式

目標

實時、 崩潰轉儲

平台

全部

 
上下文記錄中的信息可用於幫助調試發生未處理異常且無法使用精確堆棧跟蹤的問題。.cxr命令顯示指定上下文記錄的重要寄存器。此命令還指示調試器將指定的上下文記錄用作寄存器上下文。執行此命令后,調試器將訪問此線程最重要的寄存器和堆棧跟蹤。在允許目標再次執行或使用另一個寄存器上下文命令(.thread、.ecxr、.trap或.cxr)之前,此寄存器上下文將一直保持。在用戶模式下,.cxr/w命令將上下文寫入內存,並顯示存儲上下文的地址。 可以將此地址傳遞給。

下面是一個例子

0:000> .cxr 010fd218
eax=464eea00 ebx=0c093020 ecx=000022a0 edx=0000008b esi=4592dff0 edi=0be60000
eip=694c4b4c esp=010fd6f8 ebp=010fd6fc iopl=0         nv up ei pl nz na pe nc
cs=0023  ss=002b  ds=002b  es=002b  fs=0053  gs=002b             efl=00010206
nvoglv32!DrvPresentBuffers+0xc19fc:
694c4b4c 0f105e10        movups  xmm3,xmmword ptr [esi+10h] ds:002b:4592e000=????????????????????????????????

.ecxr /.excr(Display Exception Context Record)

.ecxr命令顯示與當前異常關聯的上下文記錄。
.ecxr

環境:

模式

僅限用戶模式

目標

僅用於故障轉儲 (僅適用於小型轉儲)

平台

全部

 
.ecxr命令定位當前異常的上下文信息,並顯示指定上下文記錄的重要寄存器。 此命令還指示調試器將與當前異常關聯的上下文記錄用作寄存器上下文。運行.ecxr之后,調試器可以訪問此線程最重要的寄存器和堆棧跟蹤。在啟用目標執行、更改當前進程或線程或使用另一個寄存器上下文命令(.cxr或.ecxr)之前,此寄存器上下文將一直保持。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM