天天看点

WinDbg 常用命令

_NT_SYMBOL_PATH     SRV*c:\websymbols*http://msdl.microsoft.com/download/symbols

_NT_ALT_SYMBOL_PATH  D:\xuleigang\Test\VSS\TestMemMfc\debug

SRV*c:\websymbols*http://msdl.microsoft.com/download/symbols

kbn   列出当前的调用堆栈

.loadby sos mscorwks    假如是.net程序的话,列出当前的调用情况

!clrstack   当前.net的调用情况(崩溃时)

!clrstack -p    更加详细的信息

!dumpstackobjects  命令可以查看当前线程堆栈中使用的所有对象

!dumpobj 命令查看对象的详细信息

!dumpclass 命令先进一步查看对象的类型信息

!do 地址(上个显示的地址)   显示此类下的所有变量情况 或 其地址代表的详细值

!analyze –v    将分析dump文件,并显示程序崩溃处于的代码行

!heap -s    当前堆栈的内存使用情况

!heap -stat -h 02430000   查看上一个命令中某个堆的内存使用情况

!heap -flt s 20000 1     进一步分析某个堆的使用情况

!heap -l      命令分析内存

!heap -p -a  地址    : 具体的内存位置

!address 函数地址    查看此内存详细信息

!gle 会显示当前线程的上一个错误值和状态值

显示当前线程,进程和模块信息:!teb显示当前线程的环境信息。最常见的用途是查看当前线程堆栈的起始地址,然后在堆栈中搜索值。!peb显示当前进程的环境信息,比如执行文件的路径等等。lm显示进程中加载的模块信息。

显示最相近的符号:ln Address。如果你有一个C++对象的指针,可以用来ln来查看该对象类型。

uf COM_SUNWAY_POWER!QueryAllDataV   显示此函数反编译的值

kv 命令以获得实际的异常的调用堆栈

~ * kb    列出所有进程中线程。

cd  到adplus目录

ADPlus –hang –pn notepad.exe –o c:\dumps