DoubleLi

qq: 517712484 wx: ldbgliet

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

随笔分类 -  异常诊断与调试

上一页 1 2 3 4 5 6 7 8 ··· 10 下一页

摘要:文章目录 1、使用windbg中的umdh检查 1.1、 工具下载 1.2、环境配置 1.3、利用工具umdh(user-mode dump heap)分析 1.4、利用umdh创建heap快照 2、使用windbg中的htrace检查 2.1、准备工作 2.2、快照 2.3 、执行操作,比较差异 阅读全文
posted @ 2021-02-02 19:47 DoubleLi 阅读(466) 评论(0) 推荐(0) 编辑

摘要:缘起: 作为C++程序员,检测内存泄漏是非常痛苦的事情。尤其是看着程序的内存在一直增长,你却无能为力。此时,windbg可以用来检测内存泄漏。 配置windbg: 配置symbol文件路径: “SRV*d:\symbols*http://msdl.microsoft.com/download/sym 阅读全文
posted @ 2021-02-02 19:42 DoubleLi 阅读(509) 评论(0) 推荐(0) 编辑

摘要:Windbg,这是微软设计的一款Windows调试器,体积小巧、开源免费,它可以调试软件进程,还可以帮助修复电脑蓝屏问题。如果你是初次使用WinDbg,需要对软件进行配置,详情可以参考文章说明。 Win10系统如何正确安装配置WinDbg? 下载Windbg,根据提示进行安装,启动软件,界面如图, 阅读全文
posted @ 2021-02-02 19:38 DoubleLi 阅读(2040) 评论(0) 推荐(0) 编辑

摘要:首先参考该文:http://www.cnblogs.com/happyhippy/archive/2007/04/08/710933.html 下载具体的symbols文件,我用的是xpsp2的188M的那个文件,然后按照该文的设置进行,如果你进入windbg界面再命令行下输入 .sympath 没 阅读全文
posted @ 2021-02-02 19:26 DoubleLi 阅读(2450) 评论(0) 推荐(0) 编辑

摘要:from:https://www.cnblogs.com/gaochundong/p/windbg_cheat_sheet.html 系列博文 《WinDbg 命令三部曲:(一)WinDbg 命令手册》 《WinDbg 命令三部曲:(二)WinDbg SOS 扩展命令手册》 《WinDbg 命令三部 阅读全文
posted @ 2021-02-02 17:44 DoubleLi 阅读(273) 评论(0) 推荐(0) 编辑

摘要:#调试命令窗口 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ #使用gflags.exe工具(在windbg所在目录下),让某个进程启动时,拉取windbg进行调试 如下截图:当名称为captcomm.exe的进程启动 阅读全文
posted @ 2021-02-02 17:41 DoubleLi 阅读(1560) 评论(0) 推荐(0) 编辑

摘要:<一>下载最新版的WinDbg工具,有两种方式,假设我的电脑系统为Win 10,Windows 10必须周年更新版本哦,那么可以去这个官网下载。 有两种版本:第一种版本是在微软应用商店下载的WinDbg Preview版本,这个版本UI更加好看,如果你有需求可以直接在这个网站下载,也可以下载exe版 阅读全文
posted @ 2021-02-02 17:25 DoubleLi 阅读(1628) 评论(0) 推荐(0) 编辑

摘要:内存泄露查找方法 C++程序员经常不注意内存使用的关闭,虽然此类问题不会导致程序逻辑问题,但随着时间的推移,内存占用量越来越多,最终导致程序崩掉。对服务端的程序,内存泄漏经常是致命的。 对于已经存在内存泄露的程序,可能Windbg查找内存泄露的代码。下面介绍如果通过Windbg查找内存泄露。 Win 阅读全文
posted @ 2021-02-02 17:19 DoubleLi 阅读(598) 评论(0) 推荐(0) 编辑

摘要:在大型项目中,内存泄露并不会立即crash,会使系统性能不断下降,甚至因内存耗尽而崩溃。排查起来难度也比较大,申请内存的地方很多。这里介绍的这种方法可以迅速定位问题。 下面的程序crash64,每秒会申请1M的内存,而一直都没有释放,产生内存泄露 windbg 中有个小工具 UMDH可以追踪系统每个 阅读全文
posted @ 2021-02-02 16:39 DoubleLi 阅读(284) 评论(0) 推荐(0) 编辑

摘要:Windbg的一些简单使用命令 一、崩溃 1、 输入.ecxr;kbn得到崩溃的堆栈 其中源代码如下 2、 查看堆栈和源代码,发现第0帧导致崩溃,代码也是本地代码 输入.frame 0,切到第0帧如下 3、 输入 dv 查看当前帧的一些变量信息 发现变量p =0x00000000 二、句柄泄漏 1、 阅读全文
posted @ 2021-02-02 16:36 DoubleLi 阅读(228) 评论(0) 推荐(0) 编辑

摘要:一、BoundsChecker 或许你还不知道大名顶顶的Nu-Mega,但一定听说过他们的产品SoftICE,BoundsChecker也是这家公司的产品。与Visual C++配合使用,据说威力强大。本人和没有实际用过,在此复制一下百度百科的简介,好有个简单的认识。 BoundsChecker是一 阅读全文
posted @ 2020-01-09 12:01 DoubleLi 阅读(4334) 评论(0) 推荐(0) 编辑

摘要:1 前言 我在本文中具体介绍了測试工具NuMega Devpartner(下面简称NuMega)的用法。 NuMega是一个动态測试工具,主要应用于白盒測试。该工具的特点是学习简单、使用方便、功能有效。NuMega共同拥有三个独立的子功能——BoundsChecker、TrueCoverage、Tr 阅读全文
posted @ 2020-01-08 14:31 DoubleLi 阅读(1618) 评论(0) 推荐(0) 编辑

摘要:一两个月前为产品写了一个独立的exe,由于产品使用的捕获dump是一个现成的进程外exe,如果以资源的方式集成它容易出现安全警告,由于时间关系没有寻求新的解决方法,还是遵循旧方案,不捕获dump。 最近业余看了会儿breakpad client,想到一个解决方案——其实也蛮简单的,最后exe大概会增 阅读全文
posted @ 2019-12-31 17:27 DoubleLi 阅读(333) 评论(0) 推荐(0) 编辑

摘要:今天看到这个问题如何评价王垠的 《讨厌的 C# IDisposable 接口》? - 王垠(人物),答案被歪到windows 内核对象和句柄,答案中谈的太浅显而且有误。翻出陈年老文章(此文成于2012年,只在公司内部分享过),大部分内容来自Windows内核原理 1句柄和句柄泄露 在Windows编 阅读全文
posted @ 2019-12-23 18:14 DoubleLi 阅读(1706) 评论(0) 推荐(0) 编辑

摘要:Windbg的一些简单使用命令 一、崩溃 1、 输入.ecxr;kbn得到崩溃的堆栈 其中源代码如下 2、 查看堆栈和源代码,发现第0帧导致崩溃,代码也是本地代码 输入.frame 0,切到第0帧如下 3、 输入 dv 查看当前帧的一些变量信息 发现变量p =0x00000000 二、句柄泄漏 1、 阅读全文
posted @ 2019-12-20 14:04 DoubleLi 阅读(1549) 评论(0) 推荐(0) 编辑

摘要:背景 有些客户反应客户端程序操作一段时间后,查看任务管理器发现客户端程序占用句柄数过多,怀疑存在句柄泄露问题。针对该问题,现场测试多个场景,把出现问题的范围缩小。现发现在以下两个场景下,会出现句柄泄露: 1、 打开客户端程序后操作交易 2、 在文本框中切换输入法(百度输入法2.10版本) 使用han 阅读全文
posted @ 2019-12-20 12:12 DoubleLi 阅读(1222) 评论(0) 推荐(0) 编辑

摘要:在我之前的博文中(SQL Server内存泄漏),我解释了如何使用“!heap”命令识别哪个模块泄漏了内存。有时我们使用“!d”命令来找到模型或者使用搜索内存命令(s)不能通过显示内存找到原因。在这种情况下,我们可以使用Debug Diagnostic Tools或者UMDH来跟踪内存泄漏。这篇博文 阅读全文
posted @ 2019-08-27 18:04 DoubleLi 阅读(681) 评论(0) 推荐(0) 编辑

摘要:For similar insructions in English, please see RPI CSCI1200 instructions. 程序内存调试 程序内存错误有很多种,比如内存访问错误(segmentation fault),读取未初始化的数据,数组越界读/写,内存泄漏等等。这些内存 阅读全文
posted @ 2019-07-25 10:46 DoubleLi 阅读(303) 评论(0) 推荐(0) 编辑

摘要:本文所讨论的“内存”主要指(静态)数据区、堆区和栈区空间(详细的布局和描述参考《Linux虚拟地址空间布局》一文)。数据区内存在程序编译时分配,该内存的生存期为程序的整个运行期间,如全局变量和static关键字所声明的静态变量。函数执行时在栈上开辟局部自动变量的储存空间,执行结束时自动释放栈区内存。 阅读全文
posted @ 2019-03-02 15:54 DoubleLi 阅读(2626) 评论(1) 推荐(0) 编辑

上一页 1 2 3 4 5 6 7 8 ··· 10 下一页