Process Explore & Windbg
遇到点内存泄漏、句柄泄漏,应该是家常便饭了。这次就是,程序运行内存一点点增加,句柄也是只增不减,个数竟然可以达到几十万,真是瞪大了我的双眼。
借此机会,学习下相关工具~
Process Explore
任务管理器 & 性能监视器
任务管理器应该是比较常用的了,可以查看程序的进程信息、内存、线程、句柄等等。
性能监视器也是系统自带工具,具体使用后续再说吧。
Process Explore
因为任务管理器性能有限,很多时候鞭短莫及,只能另辟蹊径。
Process Explore 可以说是加强版的任务管理器,很好很强大,先下载之:Process Explore
- 查看进程相关信息、程序调用关系
- 资源(内存、线程、句柄)占用
对进程进行操作和管控的主动工具。
Process Monitor
系统进程监视软件,Filemon+Regmon 的合成版:
- Filemon:文件监视器,专门用来监视系统中的任何文件操作过程
- Regmon:注册表监视器,用来监视注册表的读写操作过程
对系统全局事件进行监控的被动工具。下载路径:Process Monitor
通过 Process Monitor 的事件监控功能,可以查到某个 Windows 功能选项所对应的注册表值。
Process Monitor:Windows事件监控利器;
Windbg
https://github.com/EasyDarwin/Tools
其他
dotTrace
.net程序内存与性能分析工具,标识特定时间下内存中的对象。
Bear
一款专注于系统资源检测的Windows小工具,它可以检测:
- 所有GDI对象的使用情况 (hDC, hRegion, hBitmap, hPalette, hFont, hBrush)
- 所以用户对象的使用情况 (hWnd, hMenu, hCursor, SetWindowsHookEx, SetTimer and some other stuff)
- 句柄(Handle)数量
相对于Process Explorer的大而全,Bear专注而细腻,更便于监测定位进程具体的资源泄漏类型,从而缩小排查的范围。
.NET Memory Profiler
内存分析器。
VS Profiler
利用VS自带的性能分析工具:Visual Studio Profiler;
Adplus
类似Windbg,抓取Dump分析。
CLR Profiler4
.Net内存泄漏检测工具,好像会狂占C盘内存!
具体参见:https://www.cnblogs.com/Leo_wl/p/3230187.html
How To: Use CLR Profiler | MSDN
Process Explore & Windbg的更多相关文章
- 用WinDbg调试Windows和驱动程序
由于本人能力有限,翻译不足之处敬请谅解,欢迎批评指正:sunylat@163.com MSDN原文:https://msdn.microsoft.com/zh-cn/library/windows/h ...
- paip.超实用 360浏览器最近频繁奔溃解决流程.
paip.超实用 360浏览器最近频繁奔溃解决流程. 作者Attilax , EMAIL:1466519819@qq.com 来源:attilax的专栏 地址:http://blog.csdn.n ...
- 【Web应用-Kudu】Kudu 管理和诊断 azure web 应用
Azure Kudu是 GitHub 上的一个开源项目,Kudu 站点 (也称为网站控制管理 SCM) 提供了一系列的在线工具,可以帮助用户查看 web 应用的设置,诊断 web 应用,以及安装 w ...
- debugging tools
https://blogs.msdn.microsoft.com/debugdiag/ https://blogs.msdn.microsoft.com/debuggingtoolbox/2012/1 ...
- Qt技巧:Win7下打包发布Qt程序(解释的比较清楚,把exe和dll伪装合并成一个文件)
转自:http://www.stardrad.com/blog/qt-5%E7%A8%8B%E5%BA%8F%E5%9C%A8windows%E4%B8%8A%E7%9A%84%E5%8F%91%E5 ...
- 将Qt 动态链接生成的exe及依赖dll打包方法
源地址:http://blog.csdn.net/ztz0223/article/details/8939341 将Qt 动态链接生成的exe及依赖dll打包方法 原文:http://www.qtcn ...
- Qt--将Qt 动态链接生成的exe及依赖dll打包方法
Qt静态编译链接生成的exe文件,不需依赖dll,可以独立运行,发布很方便. 但绝大多数用的都是Qt开源版本,如果用静态链接,会有些限制. 方法之一,就是用动态编译,然后把exe和需要的dll整合成一 ...
- 在Windows平台下Qt的exe报错问题排查步骤
在Windows平台下Qt的exe报错问题排查步骤 工具介绍: 1. Dependency Worker Dependency Worker是一个免费的用具用来扫描任何的32bit 或者64bit 的 ...
- Qt_技巧_将Qt动态链接生成的exe与dll打包方法
刚开始接触Qt,发现mac平台直接release编译一下就能够直接生成.app文件,并且可以直接运行..app位于工程文件内. 同样发方法在Windows直接运行exe却出现缺失dll情况. 讲过网上 ...
随机推荐
- Highcharts做柱状图怎样样每个柱子都是不同的颜色显示
series: [{ data: [{'color':'#F6BD0F','y':11}, {'color':'#AFD8F8','y':12}, {'color':'#8BBA00','y':13} ...
- Ckeditor上传图片返回的JS直接显示出来,未执行!!!
Ckeditor上传图片网上有很多教程. 下面是我今天下午遇到的一个坑...自己挖的坑. 在conotroller里 我开始习惯性的 response.setContentType("app ...
- Django的路由层(1)
https://www.cnblogs.com/yuanchenqi/articles/8876685.html URL配置(URLconf)就像Django 所支撑网站的目录.它的本质是URL与要为 ...
- TopK排序
利用快速排序实现TopK排序 //返回支点的下标 int partition(int *arr, int low, int high) { //选取第一个元素为支点 int pivot = arr[l ...
- UVa 210 Concurrency Simulator (双端队列+模拟)
题意:给定n个程序,每种程序有五种操作,分别为 var = constant(赋值),print var (打印), lock, unlock,end. 变量用小写字母表示,初始化为0,为程序所公有( ...
- 继承方法-->最终模式
function inherit(Target,Origin){ function F(){}; F.prototype = Origin.prototype; // Targrt.prototype ...
- 一)如何开始 ehcache ?
官网地址 http://www.ehcache.org/ 从哪开始 第一步优先下载 http://www.ehcache.org/downloads/ 下载 Ehcache 2.10.0 .tar.g ...
- 玩转Nodejs的集群
在Nodejs中使用集群还是不容易的.Javascript的单线程属性让nodejs下的应用很难使用现代机器的多核特性.比如下面的代码实现了一个http服务器的主干部分.这部分代码只会执行在一个线程上 ...
- python socket.error: [Errno 10061]
用Python写server和client时候如果server中sock.bind(('localhost', 8001)) 则client中sock.connect(('localhost', 8 ...
- SSH整合 第五篇 struts2的到来
struts2的好处,web层的显示,同时Action类相当于MVC模式的C.整合进来的话,是通过与Spring整合,减少重复代码,利用IoC和AOP. 1.struts-2.5.2.jar 以上是s ...