windebug使用笔记

打开WinDbg,配置各路径
Symbol File Path(.pdb文件目录路径)
srvD:\symbolshttp://msdl.microsoft.com/download/symbols

Source File Path(源代码文件目录路径)
C:\Users\Administrator\Desktop\ConsoleApplication1

Image File Path(可执行文件目录路径)
C:\Users\Administrator\Desktop\ConsoleApplication1

打开.dump文件

点击菜单File/Open Crash Dump

载入 SOS.dll扩展命令模块

 执行命令:.load C:\Windows\Microsoft.NET\Framework64\v4.0.30319\sos.dll
  .loadby sos clr   

查找CPU占用过高的根源

执行 !threadpool 看是否是问题根源
!threadpool

!clrstack -p 查看参数内容

执行 !runaway 看线程的执行时间

执行 ~4 s 将当前线程切换到线程4

执行 !clrstack 显示当前线程的调用堆栈

执行 !eeheap -gc 查看托管堆的总信息

执行 !dumpheap -min 200 -stat 获取占用堆内存的各对象的统计信息

执行 !dumpheap -type Byte[] -min 200 看各Byte数组占用堆内存的详细信息

执行 !gcroot <Byte数组对象地址> 看对象引用关系

执行 !do <Program对象地址> 查看对象的详细信息

执行 ~*e !clrstack !EEStack -EE 查看堆栈详细信息

.cordll -lp D:\dll 加载指定路径文件夹下的clr.dll

抓取dump

adplus -crash -pn w3wp.exe -NoDumpOnFirst

Adplus参数说明
-pn : 指定要分析的进程名。使用多个“-pn process name”开关来指定多个进程。

-o : dump file的存储路径,缺省为adplus所在路径

-FullOnFirst : create full dumps on first chance exceptions

-MiniOnSecond

-NoDumpOnFirst : 如果exception被try-catch block处理,使用这个参数就不会生成dump file

-NoDumpOnSecond :

-quiet : No dialog boxes will be displayed

posted @ 2023-02-17 16:50  ThirteenAnimation  阅读(490)  评论(0编辑  收藏  举报