為異常處理做準備,熟悉一下WinDbg工具
博客園IBinary原創 博客連接:http://www.cnblogs.com/iBinary/
轉載請註明出處,謝謝
馬上開始異常處理第二講,但是在講解之前,還有熟悉一下我們的WinDbg工具,當然你如果熟悉這個工具,那麽就可以不用看了.
一丶熟悉WinDbg界面
剛開始打開WinDbg就是這個界面,現在我們打開一個32位程序,打開File菜單,看下內容
第一個,調試源文件,一般用不到,每個編譯器都在帶調試器,自己用自己的就好
第二個,打開一個可執行文件,很常用
第三個,附加一個進程,這個和OD很類似,當程序打開之後可以附加
現在我們用第二個,打開一個我們的可執行程序(註意,32位程序就用x86 的winDbg,64反之)
打開之後就一個命令窗口,但是我們可以通過下面的快捷鍵設置
記住快捷鍵:
ALT - 9 的快捷鍵
ALT + 1 命令行
ALT + 2 監視窗口
ALT + 3 本地變量
ALT + 4 寄存器
ALT + 5 內存
ALT + 6 調用堆棧
ALT + 7 反匯編窗口
ALT + 8 打開一個記錄本
ALT + 9 進程和線程
CTRL + N 命令瀏覽器
二丶熟悉WinDbg調試的時候的註意事項以及常用快捷鍵
1.註意符號路徑的設置,如果不設置,那麽你反匯編的時候,將看不到WinDbg翻譯出來的函數了
這個是OD做不到的,你調用什麽函數,WinDbg都能知道,歸功於符號路徑的設置
CTRL + S 打開符號路徑設置,或者在菜單點擊
輸入網址,也就是服務器地址,WinDbg將默認的鏈接微軟服務器下載
srv*d:\symbolslocal*http://msdl.Microsoft.com/download/symbols
其中的d:\symbolsloca,你可以隨便改動,就是符號路徑下載的位置是哪裏.
2.常用調試手法
WinDbg和OD不一樣,快捷鍵也有區別了
它的快捷鍵適合VC++6.0的一樣
F9 設置斷點
F5 運行
CTRL + shift + F5 重新運行(相當於OllyDbg中的ctrl + F2)
Shift + F5 停止調試
F10 單步一次
F11 遇到函數進去,步進一次
常用的怎麽多.
三丶WinDbg常用的命令
WinDbg常用的命令很多.具體可以搜索MSDN這裏只簡單列舉一下
1.斷點指令
bp 命令,設置斷點
bm 命令,設置執行符號斷點,可以多個符號下段點
ba 命令,設置內存訪問斷點
bl 命令,查看斷點列表
bc * 清除所有斷點.
2.反匯編和匯編指令
反匯編:
U 指令,向下反匯編
UB指令,向上反匯編
UF 反匯編整個函數
匯編:
a指令,可以寫入匯編代碼
3.棧分析指令
查看類型指令,默認顯示所有類型,加餐食 -b 顯示子類型信息
dt
或者
dt -b
查看棧指令
k指令單獨使用時,之顯示棧地址、返回地址、函數名信息。如果需要其他信息需要使用參數。常見的有
b 顯示函數調用時的前三個參數
c 只顯示函數名
p 顯示函數的所有參數,包括參數的名字、類型、值。
v 顯示幀指針遺漏(FPO)信息。在基於x86處理器,顯示器還包括調用約定信息
n 顯示調用棧的每幀編號
f 顯示調用棧的每幀占用字節數
默認情況下使用k顯示當前線程棧,如果加上線程命令前綴,可以查看某個線程棧,如~* k查看所有線程棧
等等
具體可以參考MSDN的用法,或者WinDbg參考手冊,將會在課堂附件中提供下載
課堂資料下載:
鏈接:http://pan.baidu.com/s/1qYc9P7m 密碼:6oa8
博客園IBinary原創 博客連接:http://www.cnblogs.com/iBinary/
轉載請註明出處,謝謝
Tags: 打開 WinDbg 一個 熟悉 ALT 快捷鍵
文章來源: