WinDbg 最基礎(chǔ)教程
本文為 Windows?下強(qiáng)大的獨(dú)立調(diào)試器 —— WinDbg 的基礎(chǔ)使用教程
安裝
略
啟動(dòng)可執(zhí)行程序

本文使用一個(gè)簡(jiǎn)單的c++文件作為展示

使用的編譯命令為?cl helloccc.cpp /Zi
編譯參數(shù)中的 /Zi 參數(shù)告知cl編譯器生成pdb文件,很重要
加載符號(hào)表
依次執(zhí)行如下命令
.symfix
.sympath+ <path to pdb>
.reload
在主函數(shù)添加斷點(diǎn)并運(yùn)行程序
執(zhí)行下面的命令
bu helloccc!main
g

bu 命令的作用是添加斷點(diǎn),WinDbg既可以調(diào)試user mode的代碼,也可以調(diào)試kernel model的代碼。程序運(yùn)行時(shí),進(jìn)入的第一個(gè)斷點(diǎn)是LdrpDoDebuggerBreak中主動(dòng)調(diào)用的int 3指令。

如果只想調(diào)試user mode中自己的代碼,就要在主函數(shù)(main)添加斷點(diǎn),然后continue(命令為g)
調(diào)試代碼過程中變量監(jiān)視

在local面板可以監(jiān)控本地變量,在Watch面板可以添加變量/地址監(jiān)控
運(yùn)行 dv?命令也可以打印local variables
標(biāo)簽: