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
 
 
 
 

WinDebug使用的更多相关文章

  1. WinDebug的一些基本使用命令

    编号:1030时间:2016年8月3日14:25:51功能:WinDebug的一些基本使用命令 URL :http://blog.csdn.net/suxinpingtao51/article/det ...

  2. Windebug双机调试环境搭建

    Windebug双机调试环境搭建    开始进行内核编程/驱动编程的调试工作是非常烦人的,由于程序运行与内核层不受操作系统的管控,所以容易引起主机蓝屏和崩溃是常有的事.这也就使得内核程序的调试成了一大 ...

  3. [内核编程] Windebug双机调试环境搭建

    Windebug双机调试环境搭建    开始进行内核编程/驱动编程的调试工作是非常烦人的,由于程序运行与内核层不受操作系统的管控,所以容易引起主机蓝屏和崩溃是常有的事.这也就使得内核程序的调试成了一大 ...

  4. WinDebug 常用命令表【摘】

    启动, 附加进程, 执行和退出(Starting, Attaching, Executing and Exiting) ======================= Start -> All ...

  5. Windebug调试

    .loadby SOS clr .Symfix .reload !threads !printexception [address]

  6. windebug 与 office Home

    https://officecdn.microsoft.com/sg/492350f6-3a01-4f97-b9c0-c7c6ddf67d60/media/zh-CN/HomeStudentRetai ...

  7. windebug分析高cpu问题

    分析高CPU的关键是找到哪个线程是持续运行,占用CPU时间. 可以隔上两分钟连续抓两个dump文件,使用 !runaway 查看线程运行的时间 通过对比两个dump文件的线程时间,看看哪个线程运行的时 ...

  8. windebug常用命令

    使用~查看所有线程 切换到一号线程:~1s 查看所有线程的托管堆栈  ~* e!clrstack 怎么查看,当前线程下,变量的信息? 对于托管代码而言,最核心的命令就是!do(dump object的 ...

  9. windebug(转载别人的节选)

    问题一:WinDBG分X86和X64两个版本 如果你用的是32位的WinDBG,那直接打开就行:你如果用的是64位的版本,那么如果调试64位代码也直接打开,如果调试x86的代码,要使用Wow64下的W ...

随机推荐

  1. Jquery 研究 入口

    <script type="text/javascript"> //var jQuery = function () { // console.log(jQuery.f ...

  2. switch 语句来选择要执行的多个代码块之一。

    switch(n) { case 1: 执行代码块 1 break; case 2: 执行代码块 2 break; default: n 与 case 1 和 case 2 不同时执行的代码 }

  3. JS 20180416课时训练

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  4. c++ 优先级队列(priority_queue)

    从网上搜优先级队列用法,都是有些乱七八糟的,有几种用法都没说,直接贴代码.实在郁闷,于是自己在此归纳归纳. 废话不多说,直入主题. 优先级队列的核心是比较函数的实现. 比较函数有两种实现方法: 1.在 ...

  5. NOIP 膜你题 DAY2

    NOIp膜你题   Day2 duliu 出题人:ZAY     题解 这就是一道组合数问题鸭!!!  可是泥为什么没有推出式子!! 首先我们知道的是 m 盆花都要摆上,然后他们的顺序不定(主人公忘记 ...

  6. cent os 安装mariaDB / mySQL 之后初始化的命令

      #安装mysql mysql-server,默认安装的是开源的mariaDB和它的server,mariadb-server,安装源中可能有找不到的,就换个名字再找找 yum install -y ...

  7. priority_deque作为Timer时间队列底层容器的一些思考

    https://www.bbsmax.com/A/D854VkZxzE/ 设置底层容器可以分离出两个逻辑上独立的问题: >如何存储构成优先级队列(容器)的实际元素,以及>如何组织这些元素以 ...

  8. spring boot --部署war到tomcat中

    1.在pom文件中,将默认的jar包打包,改成以war包打包:<!--打包方式--><packaging>war</packaging> 2.将项目在doc命令中执 ...

  9. N3-2 - 树 - binary-tree-level-order-traversal-ii

    题目描述: Given a binary tree, return the bottom-up level order traversal of its nodes' values. (ie, fro ...

  10. android onConfigurationChanged的那点事

    Android学习笔记——关于onConfigurationChanged   从事Android开发,免不了会在应用里嵌入一些广告SDK,在嵌入了众多SDK后,发现几乎每个要求在AndroidMan ...