windbg 分析句柄泄漏

如何抓取windows的转储?Windows使用临界区捕获dumpWinDBG的方法生成转储文件:当程序崩溃时,为了以后调试分析问题,可以使用WinDBG保存当时程序内存空间中的所有数据,生成的文件称为转储文件 。关于使用WinDbg查看PEB的一些介绍性说明:WinDbg通常通过命令行操作进程调试信息 , 类似于CMD 。
1、如何获取其PEB的内容楼主可以去微软官网下载一个强大的进程操纵/信息查看工具ProcessExplorer 。网址:查看手柄时,需要点击工具栏中的Showlowerpane面板的摘要或快捷键:Ctrl L,选择selectcolumns的摘要...在View菜单中 , 您可以选择关于要查看的进程的特定信息,例如进程的用户名和句柄的特定值 。我一般用WinDbg调试工具查看PEB,也可以从微软官网下载 。WinDbg是作为WindowsSDK工具包的一部分提供的,不同的操作系统有不同的SDK,楼主需要根据自己的操作系统选择合适的SDK 。
关于使用WinDbg查看PEB的一些介绍性说明:WinDbg通常通过命令行操作进程调试信息,类似于CMD 。它的命令用“符号”这个词来表示,第一次使用WinDbg时可能无法正确识别符号,所以需要一些设置才能让WinDbg识别命令(符号) 。
【windbg 分析句柄泄漏】
2、如何捕捉程序异常/crash并生成dump文件调试转储文件非常简单 。双击自动打开VC,然后按F7运行 。但是中间要注意很多东西 。你把转储文件放在哪里?转储文件不必位于您编译的位置 。您可以创建一个新文件夹来存放它 。要还原当时的场景,你可能要问了,怎么可能?这个转储文件是用户发给我的,我不能去用户家里调试?这个恢复站点不是指去那台机器,而是获取转储文件对应的二进制文件 。
既然你发布了程序 , 当然会有Exe文件 。所以我们在这里只考虑Dll 。所有dll文件的版本号和时间戳都记录在转储文件中 , 因此您必须通过某种方式获取它 。如果能从用户那里得到最好的,如果不方便的话,用户不可能用一个我们平时不用的操作系统,所以找一个有相应系统的机器一般都会有 。但是要记?。?不仅文件名要一致,还要检查版本和时间戳 。如果不一样,就没办法用了 。

    推荐阅读