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