WinDbg 常用调试命令

<转自> http://blog.csdn.net/agan4014/article/details/2180699

一、设置Symbols File Path

  srv*c:/MySymbols*http://msdl.microsoft.com/download/symbols;c:/MySymbols;”,将其输入“Symbols Path”中,并将“Reload”选上,点击OK 将立即更新Symbols

    说明:“c:/MySymbols”是Symbols File本地存储路径。如果本地没有,Windbg将自动从http://msdl.microsoft.com/download/symbols上下载,下载后就直接使用本地的Symbols文件。如:第二个“c:/MySymbols”。

 

二、调试的工程设置:DebugàEnable Debuggersà选上“Enable unmanaged code debugging”。这时可用于调试非托管代码。

 

三、Windbg加载调试程序:

1. 从“Open Executable”加载.exe程序

2. !g              //运行程序。

3. Break       //程序

4. !DumpHeap           //显示堆信息;此时你会发现“c:/MySymbols”中多了“mscorwks.pdb”文件夹

 

四、常用命令。

 

 

命令

操作

.hh

调出帮助文件

!help

显示部分命令

!help <command>

显示某命令的详细信息

 

 

lm

显示进程中加载的模块信息

lmvm

可以查看任意一个DLL/EXE的详细信息

lml

查看模块的加载情况

ld

加载某块

 

 

!thread

查看所有线程

~ns

切换到第n号线程

!runaway

显示每一个线程所消耗CPU的时间

 

 

!sym noisy

开启WinDbg log日志,显示具体信息

!analyze -v

调用WinDbg智能解析,一般程序崩溃的情况下首选调用

!locks

查看锁,一般调试死锁的情况下使用

 

 

~*kb

显示所有调用堆栈

kb

显示当前调用堆栈

dv

显示局部变量

dt

显示数据结构

dd

察看堆内容

!address

显示某一地址上的页信息

u

显示汇编代码

uf

反汇编代码

.exr

打印出异常的信息

.cxr

切换上下文

 

 

x

查找某一符号的地址

dds

把某一地址对应到符号(于x的用法相反)

 

 

 

注: 具体可以调出帮助文件再查找使用方法.

posted @ 2012-12-22 12:43  水上云天  阅读(584)  评论(0编辑  收藏  举报