1.windbg簡介
windbg是一個非常強大的調式工具,它適用於windows系統,WinDbg是Microsoft Windows上的多用途調試器,可從微軟網站上免費下載安裝使用。可用於調試用戶態下的應用程序、驅動程序,以及核心態下的操作系統自身。該軟件是GUI界面,但與更爲著名但功能稍弱的Visual Studio Debugger幾乎完全不同。
WinDbg能從服務器自動裝載匹配的調試符號文件,如PDB文件。調試符號文件在源代碼文件與二進制可執行程序之間創建對應。Microsoft的公開的符號服務器提供了Windows 2000以後各版本操作系統及服務包的絕大部分符號。
2.調式教程
2.1本地調式
1.以管理員的身份打開cmd,輸入’dcdedit -debug on’
2.重啓系統,以管理員身份打開windbg,接着 ‘file -》kernel debug ->local’
3.輸入指令,查看內核結構信息,下面顯示的是TEB結構信息,TEB的全稱是線程環境塊,下圖可以看到TEB的地址爲c82000.
4.使用dt _teb c82000可以查看TEB中各個字段的值,其它結構類似。
2.2雙機調式
1.打開虛擬機設置,添加串行端口並填寫管道信息((打印機的爲com1,有打印機的話命名爲com2)。
2.在windbg目標後面填寫 -b -k com:pipe,port=\.\pipe\com_2,resets=0,reconnect -y
3.修改虛擬系統啓動選項,用管理員權限打開虛擬機的cmd,輸入一下命令:
bcdedit /enum //查看配置
bcdedit /set “{current}” bootmenupolicy Legacy //修改啓動方式
bcdedit /dbgsettings SERIAL DEBUGPORT:2 BAUDRATE:115200
//設置串口2爲調試端口,波特率爲115200
bcdedit /copy “{current}” /d “Debug”
4.接着執行一下命令:
bcdedit /debug “{<新建的啓動配置的標識符>}” on //打開調試開關,我這裏是{9f18bb31-1578-11ea-ab98-f0b8641e891a}
bcdedit /enum
5.重啓系統 按f8,進入Dos界面,選boot Manage,再摁enter鍵。
6.用管理員權限運行windbg,鏈接成功。