WinDbg使用基礎

2021-07-25 13:25:02 字數 1273 閱讀 5910

啟動windbg後發現以一般的軟體並沒有什麼差別,選單工具欄,客戶區,狀態列都有,估計作用也差不多

為了學習windbg,讓整個過程盡量可控,我們自己編寫被除錯程式:

生成release版本的exe檔案,為模擬一般情況下的除錯我們將exe檔案拷貝到乙個單獨的路徑上。通過windbg的file->open executable選單開啟生成的exe檔案,出現command視窗,command包含顯示和輸入兩個部分,乙個用來輸入除錯指令,另外乙個給出顯示資訊:

command中會顯示這塊記憶體的一些基本資訊,開啟反彙編視窗(disassembly)可以看到這個位址附近的一些內容。作為除錯來說我們需要給一些位置的指令下斷點,而目前我們完全不知道該再**下斷點,也不知道這些位址如何跟我們編寫的**相互關聯起來。我們使用偽暫存器$exentry標識程式入口點,我們打上斷點bp $exentry後,使用指令g或者快捷鍵f5繼續執行以至於命中斷點。輸入!address+[斷點位址]在反彙編視窗中看到斷點位址的前後內容,並給在ret指令之前的每個位址打上斷點就,每次執行g指令就可以想單步除錯一樣看到控制台視窗的輸出過程。

正常情況下我們是不可能以這樣的方式進行除錯的,我們需要更加高效的處理這些問題,故而我們可以通過符號檔案的幫助來定位位址。file->symbol file path將符號檔案路徑加入到workspace中,勾選reload選項或者使用.relord指令載入符號檔案,使用x helloworld!*可以找到模組中每個指令對應的說明:

在有源**的情況下可以加入源**來檢視更高階和直觀的資訊file->symbol file path:

WinDbg配置和使用基礎

windbg是微軟發布的一款相當優秀的原始碼級 source level 除錯工具,可以用於kernel模式除錯和使用者模式除錯,還可以除錯dump檔案。1.windbg介紹 debugging tools and symbols getting started a word for windbg ...

WinDbg配置和使用基礎

windbg是微軟發布的一款相當優秀的原始碼級 source level 除錯工具,可以用於kernel模式除錯和使用者模式除錯,還可以除錯dump檔案。1.windbg介紹 debugging tools and symbols getting started a word for windbg ...

WinDbg配置和使用基礎

windbg是微軟發布的一款相當優秀的原始碼級 source level 除錯工具,可以用於kernel模式除錯和使用者模式除錯,還可以除錯dump檔案。1.windbg介紹 debugging tools and symbols getting started a word for windbg ...