现在都是用windbg preview,安装比较麻烦了,还要配置环境变量,

并且每次分析前要先执行

!analyze - v

!eeheap -gc

!DumpHeap -min 500 000002b25e781000 000002b2da6f8af0

①!analyze - v

②kP                                               可以看函数的入参

③!for_each_frame dv / t                            可以看函数中的局部变量

④dc, db                                          产看某一内存中的值    可以直接接变量名 不过可能需要回溯栈

⑤!threads                                         显示所有线程

⑥~0s , ~1s                                       进入某个线程

⑦!frame ProcessA!FunctionA                        查看某一变量有时需要。 回溯栈

⑧!uniqstack                                       扩展命令显示当前进程中所有线程的调用堆栈,除开重复的那些。

⑨!teb                                             扩展以的格式化后的形式显示线程环境块(TEB)的信息。

⑩s - sa 和 s - su                                     命令搜索未指定的 ASCII 和 Unicode 字符串。这在检查某段内存是否包含可打印字符时有用。

⑪dds、dps 和 dqs 命令显示给定范围内存的内容。     该内存被假定为符号表中的一连串地址。相应的符号也会被显示出来。命令显示给定范围内存的内容, 它们是把内存区域转储出来,并把内存中每个元素都视为一个符号对其进行解析,dds是四字节视为一个符号,dqs是每8字节视为一个符号,dps是根据当前处理器架构来选择最合适的长度

⑫.kframes                                        命令设置堆栈回溯显示的默认长度。默认20

⑬k, kb, kd, kp, kP, kv(Display Stack Backtrace) k * 命令显示给定线程的调用堆栈,以及其他相关信息。通常要结合12) 使用否则显示出来的东西很少

⑭.reload / i xxx.dll                              忽略.pdb 文件版本不匹配的情况。

  

-----------

https://www.cnblogs.com/wigis/p/6851918.html

https://www.cnblogs.com/lovecindywang/archive/2010/06/18/1760099.html

windbg排查大内存的更多相关文章

  1. PHP读写大“二进制”文件,不必申请很大内存(fopen、fread、fwrite、fclose)

    <?php /** * 读写大二进制文件,不必申请很大内存 * 只有读取到内容才创建文件 * 保证目录可写 * * @param string $srcPath 源文件路径 * @param s ...

  2. 一个Java对象到底占用多大内存?

    最近在读<深入理解Java虚拟机>,对Java对象的内存布局有了进一步的认识,于是脑子里自然而然就有一个很普通的问题,就是一个Java对象到底占用多大内存? 在网上搜到了一篇博客讲的非常好 ...

  3. JVM优化之调整大内存分页(LargePage)

    转自:http://cjjwzs.iteye.com/blog/1059381 本文将从内存分页的原理,如何调整分页大小两节内容,向你阐述LargePage对JVM的性能有何提升作用,并在文末点明了大 ...

  4. (转)mongoDB 禁用大内存页面 transparent_hugepage=never

    最近在学mongoDB,安装倒没什么困难,有yum仓库.不过接入ctl后的一条warning倒挺让人烦心的. 1 2 2015-03-22T09:27:00.222+0800 I CONTROL  [ ...

  5. 一个Java对象到底占用多大内存

    在网上搜到了一篇博客讲的非常好,里面提供的这个类也非常实用: import java.lang.instrument.Instrumentation; import java.lang.reflect ...

  6. mysql大内存高性能优化方案

    mysql优化是一个相对来说比较重要的事情了,特别像对mysql读写比较多的网站就显得非常重要了,下面我们来介绍mysql大内存高性能优化方案 8G内存下MySQL的优化 按照下面的设置试试看:key ...

  7. Android 开发绕不过的坑:你的 Bitmap 究竟占多大内存?

    0.写在前面 本文涉及到屏幕密度的讨论,这里先要搞清楚 DisplayMetrics 的两个变量,摘录官方文档的解释: density:The logical density of the displ ...

  8. linux内核中分配4M以上大内存的方法

    在内核中, kmalloc能够分配的最大连续内存为2的(MAX_ORDER-1)次方个page(参见alloc_pages函数,     "if (unlikely(order >= ...

  9. 一个Java对象到底占多大内存

    最近在读<深入理解Java虚拟机>,对Java对象的内存布局有了进一步的认识,于是脑子里自然而然就有一个很普通的问题,就是一个Java对象到底占用多大内存? 在网上搜到了一篇博客讲的非常好 ...

随机推荐

  1. django2.0再写一行代码

    基础 @LTS长期支持 @django-admin startproject xxx python manage.py runserver python manage.py startapp xxx ...

  2. springboot问题总结

    前端使用jsp界面,但是jsp界面中引用的静态资源无论如何也加载不出来,弄一天了,哎 最后把pom文件里的jar全干掉,代码移除,就剩下登录界面,看css能不能进来,结果没问题, 然后看类里面的注解, ...

  3. REST架构简析(原论文整理)

    0 引言        目前,互联网在社会中扮演的角色越来越重要.通过互联网为广大群众提供服务,也是互联网成功的关键.互联网服务架构目前大多数都是基于REST架构来完成的.REST从它诞生至今,可以说 ...

  4. java高并发实战(三)——Java内存模型和线程安全

    转自:https://blog.csdn.net/gududedabai/article/details/80816488

  5. Java中ArrayList的删除元素总结

    Java中循环遍历元素,一般有for循环遍历,foreach循环遍历,iterator遍历. 先定义一个List对象 List<String> list = new ArrayList&l ...

  6. CentOS7.0 采用压缩包 安装Nginx 1.7.4和添加Tomcat为系统服务 nginx结合tomcat

    CentOS7.0 采用压缩包 安装Nginx 1.7.4  一.安装准备首先由于nginx的一些模块依赖一些lib库,所以在安装nginx之前,必须先安装这些lib库,这些依赖库主要有g++.gcc ...

  7. spark2.4.0+hadoop2.8.3全分布式集群搭建

    集群环境 hadoop-2.8.3搭建详细请查看hadoop系列文章 scala-2.11.12环境请查看scala系列文章 jdk1.8.0_161 spark-2.4.0-bin-hadoop2. ...

  8. Python学习日记 --day2

    Python学习日记 --day2 1.格式化输出:% s d  (%为占位符 s为字符串类型 d为数字类型) name = input('请输入姓名') age = int(input('请输入年龄 ...

  9. 经测试稳定可用的蓝牙链接通信Demo,记录过程中遇到的问题的思考和解决办法,并整理后给出一个Utils类可以简单调用来实现蓝牙功能

    说明:这是本人在蓝牙开发过程中遇到过的问题记录和分析,以及解决办法. 在研究过程中,许多的前人给出的解决方案和思路指导对我相当有帮助,但并非都是可采取的解决方法, 经过本人对这些方法的测试和使用过后, ...

  10. 记一次monolog的RotatingFileHandler使用

    需求如下: 1.需要一种日记格式,能把同一次请求的日记归在一起,请求间的日记以空行隔开,即使并发操作也不会像laravel默认的日记一样很"被动"的记录(不同请求的日记可能被交替记 ...