WinDebug使用


File->Symbol File Path->
SRV*C:\MyLocalSymbols*http://msdl.microsoft.com/download/symbols
 
 
设置环境变量  _NT_DEBUGGER_EXTENSION_PATH
路径是前面lmvf看到的.net路径
C:\Windows\Microsoft.NET\Framework64\v2.0.50727
设置完成后关闭WinDbg重新打,基本上就可以用了
 
 
 
 
加载分析内存dll: .load sos  
C:\Windows\Microsoft.NET\Framework64\v4.0.30319
 
分析CPU占用程序:   ~*e !clrstack
查看当时线程列表:   !runaway
查看具体线程: ~67s   (67为线程ID)
 
高内存:
.load  sos【加SOS扩展】
!dumpheap -stat 【垃圾收集器堆的信息】
!dumpheap -mt  内存地址 
!do 内存地址
du(ds,dS,dc) 内存地址 内存地址 +1000 (查看大对象字符串)
 
 
执行 !eeheap -gc 查看托管堆的总信息
执行 !dumpheap -min 200 -stat 获取占用堆内存的各对象的统计信息
执行 !dumpheap -type Byte[] -min 2000 看各Byte数组占用堆内存的详细信息(2000为size)
执行 !gcroot <Byte数组对象地址> 看对象引用关系
执行 !do <Program对象地址> 查看对象的详细信息
 
高CPU案例常用命令
.load sos
!runaway 【各线程的CPU占用总时间】
~ id s 【切换到线程】
!clrstack -p   
~*e !clrstack
 
 
 
 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM