调试技巧
文章平均质量分 72
无边风月-风之羽翼
这个作者很懒,什么都没留下…
展开
-
gperftools检查内存泄露/越界等问题的简易说明
大名鼎鼎的Google的内存检查工具1 编译Gperf本身库的编译没啥好说的,标准流程,需要automake支持./autogen.sh./configuremake && make install2 编译应用程序在实际工程的Makefile中添加LIB库依赖.一般来说 -ltcmalloc就可以了如果需要使用Profiler的功能,那么用 -ltcmalloc...原创 2019-06-26 11:30:57 · 1235 阅读 · 0 评论 -
Umdh使用
1. 生成Symbol文件, VC下面PDB文件, 编译生成PDB2. gflags /i 程序名 +ust或者 gflags 打开图形界面 Image File 输入进程名 按Tag 选上 Create user mode stack trace database 3. 启动应用程序在_NT_SYMBOL_PATH 起作用的环境下面 启动应用程序start /d原创 2012-11-27 10:21:40 · 1017 阅读 · 0 评论 -
Windbg生成Dump
程序崩溃(crash)的时候, 为了以后能够调试分析问题, 可以使用WinDBG要把当时程序内存空间数据都保存下来,生成的文件称为dump 文件。 步骤:1) 打开WinDBG并将之Attach 到crash的程序进程2) 输入产生dump 文件的命令WinDBG产生dump 文件的命令是 .dump ,可以选择不同的参数来生成不同类型的dump文件。选项(1): /m命令行示转载 2012-12-04 09:47:10 · 402 阅读 · 0 评论 -
GDB调试内存泄露(CentOS7 实战记录)
首先感谢《一种定位内存泄露的方法(Linux)》这片文章。基本思路是一致的。 本文追加了对于后续内存如何查看对象数据的方法。先POST一下原来第三方文章,主要关注其思想理念:目的: 本文是《一种定位内存泄露的方法(Solaris)》对应的Linux版本,调试器使用gdb。主要介绍实例部分。其他请见《一种定位内存泄露的方法(Solaris)》。模拟new失败的程序:#incl...原创 2017-03-20 18:40:13 · 10262 阅读 · 2 评论 -
windbg使用技巧
dt -v DMS_Server!DataRow 376c4b58+8 转存出数据结构dt -s 4c -n DMS_Server!* 查找结构体大小回答本文标题中的问题, 步骤如下:第一步, 开启日志记录:.logopen d:\output.txt第二步, 运行你想要输出到文本文件中的命令:address第三步, 关闭日志记录:.logclo原创 2012-11-27 10:22:59 · 558 阅读 · 0 评论