WinDbg设置和常用调试命令


1. 安装好后先设置环境变量

_NT_SYMBOL_PATH
 SRV* 本地目录 store*http://msdl.microsoft.com/download/symbols

本地目录主要要来存放 symbols

WinDbg设置和常用调试命令  或者  WinDbg设置和常用调试命令


.reload:删除所有符号信息并重新加载需要的符号,一般用法“.reoad /f”,“.reload /i xxxx”当模块与pdb不相符时强制加载。

  !analyze:自动分析出异常信息,一般用法“!analyze -v”。

  lm:列出加载的所有模块和每个模块的符号信息,一般用法“lm”或“lm vm test.dll”显示所有模块或显示指定模块信息信息。

  k*:显示堆栈,一般用法“kb”。

  dt:显示局部、全局等变量的值,一般用法“dt CString 0x06a6e344”,把0x06a6e344的地址解析为CString类型并显示出来。

  !wow64exts.sw:32位托管程序在64位机器上运行,产生的也是64位dump时,就得调用这个命令切换到32位模式下来调试。

  .load或.loadby:加载一个新的扩展dll到调试器里,一般用法“.loadby sos clr”,调用C#程序常用命令。

  !dso:把当前栈上所有的变量都显示出来,调试C#用,“.loadby sos clr”配合这个命令可显示一些东东。

d*:显示给定内存的内容,一般用法“dc 0x06a6e344”显示0x06a6e344处的内容。

  !address:显示内存信息,一般用法“!address0x06a6e344”显示0x06a6e344处内在的属性。

  dpa或dpu:显示给定内存以ANSI或UNICODE格式编码的字符。

  .cls:清屏。


#使用gflags.exe工具(在windbg所在目录下),让某个进程启动时,拉取windbg进行调试

如下截图:当名称为captcomm.exe的进程启动时,拉起windbg调试

WinDbg设置和常用调试命令


.srcpath f:\src // 将源文件查找路径设为:f:\src   注:必须勾选上菜单“Debug”-“Source Mode”;另外pdb须与exe、dll等执行模块匹配上