1.加载调试 .loadby sos clr
2.打印堆栈
*kv或*e!clrstack
3.列出死锁 !locks 根据owningthread回头看对应线程的堆栈可以发现可能造成死锁的栈信息
4.打印线程列表 !threads 找到对应线程的异常记录
5.打印同步块 !syncblk 可以看到具体是哪个代码块引起
6.查看线程在用户/核心态以及存活时间 !runaway f
1.加载调试 .loadby sos clr
2.将windb屏幕输出保存到文件,不然就杯具了 .logopen /t c:\windbg.txt
3.打印堆栈
*kv或*e!clrstack
4.打印线程列表 !threads 找到对应线程的异常记录以及线程id
5.在c:\windbg.txt中查找堆栈信息就可以看到是哪段代码导致堆栈溢出
1.加载调试 .loadby sos clr
2.将windb屏幕输出保存到文件,不然就杯具了 .logopen /t c:\windbg_OOM.txt
3.查看堆大小 !eeheap -gc
4.查看堆内对象 !dumpheap -stat 023e1000 033db630
5.查看各个对象的内存占用情况