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