WinDebug使用
2024-08-24 04:56:12
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
最新文章
- C生成随机数,奇葩问题
- Orleans中的Timer和Reminder
- js最新手机号码、电话号码正则表达式
- Android常用布局
- Java BIO、NIO、AIO-------转载
- C# delegate 学习 (练这么久终于悟出来点东东了,继续加油! ^_^)
- oracle 存储过程返回结果集 (转载)
- linux常用命令系列—cp 复制文件与文件夹
- HDU - 1205 I NEED A OFFER!
- 使用vue-cli构建多页面应用+vux(二)
- 浅析Numpy.genfromtxt及File I/O讲解
- 文章标题 Oracle数据库中dual表使用
- app原生和H5混合使用自动化
- php composer windows安装
- 3n+1猜想——模拟
- k8s重启策略
- Python对文件的解压和压缩
- 数据库SQL的分组函数
- C#中用NPOI的excel导出
- Ubuntu/Debian apt-get 404 Not Found Package Repository Errors,无法找到包的错误