Windbg
是微軟開發的免費源碼級調試工具。
Windbg
可以用于
Kernel
模式調試和用戶模式調試,還可以調試
Dump
文件。
? ? ? 通過使用WMware虛擬一個操作系統還可以在一臺機器上實現操作系統的調試。
1.
從
http://www.microsoft.com/whdc/DevTools/Debugging/default.mspx
下載
Install Debugging Tools for Windows
2.
從
http://www.microsoft.com/whdc/devtools/debugging/symbolpkg.mspx
下載
Windows Symbol Packages(注意版本)
3. 啟動 Windbg,File->Symbol File Path 填寫以上 Symbols 安裝路徑: 后面用% Symbolspath%表示
4.File->Kernel Debug->Local,
在下面執行
lkd> !process
出現以下錯誤:
NT symbols are incorrect, please fix symbols
??????
這個可能是%
Symbolspath%\exe\ntoskrnl.pdb
破損所致。
解決方案:將第
3
步中的
Symbol File Path
填寫為:
% Symbolspath%
SRV*
%
Symbolspath%
*http://msdl.microsoft.com/download/symbols
按照這樣設置,
WinDbg
將先從本地文件夾
D:\Program Files\Symbols
中查找
Symbol
,如果找不到,則自動從
MS
的
Symbol Server
上下載所需要的
Symbol
5.
調試
?????? 當運行你的程序時,假如你用VC開發,記得在連接選項中加入生成符號文件的選項
6.
用內核擴展命令查看常見內核對象數據結構
(
每條命令以分號隔開
)
(
1
)進程:
!process [0 0]
;
dt nt!_eprocess
;
dt nt!_kprocess
;
(
2
)線程:
!thread
;
dt nt!_ethread
;
dt nt!_kthread
;
(
3
)
I/O
請求包:?
dt nt!_irp
;
!irpfind
;
(
4
)常見同步對象:
lkd>
dt nt!_kevent
;
lkd>
dt nt!_kmutant
;
lkd>
dt nt!_ksemaphore
;
( 5 )作業: lkd> !job ; 會話( lkd> !session );內存管理( lkd> !vm )的命令等。
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
