日期:2014-05-16  浏览次数:20422 次

windbg学习小结

一、命令

1、  加载调试器

命令:

.loadby sos mscorwks          .Net 3.5版本及以下

.loadby sos clr                        .Net 4.0

           .loadc:\windows\microsoft.net\framework\v2.0.50727\sos.dll

         说明:

如果服务器的.Net版本与本机不匹配需要服务器版本的mscordacwks.dll文件,如下:

.sympath=

 

2、  基本操作指令

!help                                sos指令帮助

!threads                         显示所有线程

!threadpool(!tp)           显示程序池信息

~54s                                       查看54号线程

kb                                    显示当前线程的callstack

~*e !clrstack               看所有线程的堆栈信息

!dumpheap                    显示托管堆的信息

!clrstack                         显示调用栈

!dumpstackobjects      打印当前thread的stack中保存的所有托管的object

!dumpclass                    打印出指定类型信息址上的类型定义

!eeheap                          列举出当前进程中managedheap的统计信息

!dumpobj(!do)               显示一个对象的内容

!dumparray                   显示数组

!syncblk                          显示同步块

!runaway                       显示线程cpu时间

!gcroot                                     跟踪对象内存引用

!gchandles                     打印出当前所有的GCHandle统计信息

!objsize                           打印出指定object

!pe                                   打印异常

vertarget                       查看系统运行时间

 

3、内存泄露常用指令

         !dumpheap–stat     检查当前所有托管类型的统计信息

!dumpheap –mt