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情况. 讲过网上 ...
随机推荐
- 递归生成treeview树形节点(没有用递归函数之后会有补充,这里只用系统的内置方法去生成)
using System;using System.Collections.Generic;using System.ComponentModel;using System.IO;using Syst ...
- CountVectorizer()类解析
主要可以参考下面几个链接: 1.sklearn文本特征提取 2.使用scikit-learn tfidf计算词语权重 3.sklearn官方中文文档 4.sklearn.feature_extra ...
- 20155333 2016-2017-2 《Java程序设计》第八周学习总结
20155333 2016-2017-2 <Java程序设计>第八周学习总结 教材学习内容总结 认识NIO NIO(New IO)-from JDK1.4 Channel: 衔接数据节点( ...
- 2018.10.14 loj#6011. 「网络流 24 题」运输问题(费用流)
传送门 费用流入门题. 直接按照题意模拟. 把货物的数量当做容量建边. 然后跑一次最小费用流和最大费用流就行了. 代码: #include<bits/stdc++.h> #define N ...
- 2018.09.26 bzoj4326: NOIP2015 运输计划(二分+树上差分)
传送门 简单树上操作. 先转边权为点权. 显然所有的询问操作对应的路径会有一些交点,那么我们可以直接二分答案,对于所有大于二分值的询问用树上差分维护,最后dfs一遍每个点被覆盖了几次,当前情况合法当且 ...
- 用原生的javascript 实现一个无限滚动的轮播图
说一下思路:和我上一篇博客中用JQ去写的轮播图有相同点和不同点 相同点: 首先页面布局是一样的 同样是改变.inner盒子的位置去显示不同的图片 不同点: 为了实现无限滚动需要多添加两张重复的图片 左 ...
- 解决:无法在发送 HTTP 标头之后进行重定向。 跟踪信息: 在 System.Web.HttpResponse.Redirect(String url, Boolean endResponse, Boolean permanent) 在 System.Web.Mvc.Async.AsyncControllerActionInvoker.<>……
问题:在MVC的过滤器中验证用户状态时报如下错误: 无法在发送 HTTP 标头之后进行重定向. 跟踪信息: 在 System.Web.HttpResponse.Redirect(String ...
- springmvc 孔浩 hibernate code
model--User package model; import javax.persistence.Entity; import javax.persistence.GeneratedValue; ...
- 无限存储之胖文本数据库TTD(Thick Text Database)
无限存储之胖文本数据库TTD(Thick Text Database) 阅读: 评论: 作者:Rybby 日期: 来源:rybby.com 所谓的“胖”就是多.大.丰富的意思,像我们平时看到的 ...
- 拷贝构造函数——防篡改
对于普通类型的对象来说,他们之间的复制是简单的,比如: int a = 88; int b = a; 而类和普通对象不同,类对象内部结构一般较为复杂,存在各种成员变量. #include <io ...