生活随笔
收集整理的這篇文章主要介紹了
windbg调试命令2(!gle、g、p)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
!gle 擴展顯示當前線程的最后一個錯誤碼。
這個太好記了,getlasterror取首字母:
0:002>?!gle??
LastErrorValue:?(Win32)?0?(0)?-?<Unable?to?get?error?code?text>??LastStatusValue:?(NTSTATUS)?0?-?STATUS_WAIT_0?? 0:002> !gle
LastErrorValue: (Win32) 0 (0) - <Unable to get error code text>
LastStatusValue: (NTSTATUS) 0 - STATUS_WAIT_0
-all 顯示目標系統中每個用戶模式線程的最終錯誤。如果在用戶模式下省略該參數,調試器顯示當前線程的最終錯誤。如果內核模式下省略該參數,調試器顯示當前的寄存器上下文指定的線程的最終錯誤。
0:002>?!gle??
LastErrorValue:?(Win32)?0?(0)?-?<Unable?to?get?error?code?text>??LastStatusValue:?(NTSTATUS)?0?-?STATUS_WAIT_0??0:002>?!gle?-all??Last?error?for?thread?0:??LastErrorValue:?(Win32)?0?(0)?-?<Unable?to?get?error?code?text>??LastStatusValue:?(NTSTATUS)?0xc0000135?-?{????Last?error?for?thread?1:??LastErrorValue:?(Win32)?0?(0)?-?<Unable?to?get?error?code?text>??LastStatusValue:?(NTSTATUS)?0?-?STATUS_WAIT_0????Last?error?for?thread?2:??LastErrorValue:?(Win32)?0?(0)?-?<Unable?to?get?error?code?text>??LastStatusValue:?(NTSTATUS)?0?-?STATUS_WAIT_0?? 0:002> !gle
LastErrorValue: (Win32) 0 (0) - <Unable to get error code text>
LastStatusValue: (NTSTATUS) 0 - STATUS_WAIT_0
0:002> !gle -all
Last error for thread 0:
LastErrorValue: (Win32) 0 (0) - <Unable to get error code text>
LastStatusValue: (NTSTATUS) 0xc0000135 - {Last error for thread 1:
LastErrorValue: (Win32) 0 (0) - <Unable to get error code text>
LastStatusValue: (NTSTATUS) 0 - STATUS_WAIT_0Last error for thread 2:
LastErrorValue: (Win32) 0 (0) - <Unable to get error code text>
LastStatusValue: (NTSTATUS) 0 - STATUS_WAIT_0
!gle擴展顯示GetLastError的值并嘗試解碼它。
?
?g
g(go)命令開始指定進程或線程的執行。這種執行將會在程序結束、遇到BreakAddress 或者其他造成調試器停止的事件發生時停止。
這個我們太經常用到了,
1>.如果直接用g不帶參數,表示無條件恢復調試目標的執行
2.>g Address,相當于設了一個一次性斷點,然后將調試目標執行到斷點
3>gu 用于使調試目標執行完當前函數并且返回到調用者,由于這個命令知道當前的棧指針,因此它可以從遞歸函數調用中返回
?
在用戶態調試中,都可以通過~線程號 來指定某個線程的執行命令,所有其他線程都被凍結狀態,
比如:
0:002>?~0?g??
System?0:?2?of?3?threads?are?frozen?? 0:002> ~0 g
System 0: 2 of 3 threads are frozen
windbg提示,3個線程中的兩個被凍結了,只有0號線程是運行狀態
?
p
p命令執行一條指令或者一行源碼,并且選擇性的顯示所有寄存器和標志位的結果
這個比較好記,用過vs的都知道F10是單步調試(Step Over),這個的快捷鍵就是F10
不介紹了,最常用的,
轉載于:https://www.cnblogs.com/guanlaiy/archive/2012/12/18/2822881.html
總結
以上是生活随笔為你收集整理的windbg调试命令2(!gle、g、p)的全部內容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。