利用 windbg 或 adplus 生成 dump 文件
强力 调试 工具 windbg:
1. 到windbg官网下载安装文件 http://www.windbg.org/
2.选择下载32bit or 64bit 版本:
我的经验:我们的编译机环境和运行机环境一致,都为winserver2003 sp2 64bit,因为是在运行机上安装,所以下载64bit版本
详见:Choosing the 32-Bit or 64-Bit Debugging Tools
3.下载windbg符号库文件(若机子有联网,可不用下载符号库)
根据环境下载,详见:Download Windows Symbol Packages
4.安装windbg和符号库(若机子有联网,可不用安装符号库)
5.设置windbg符号库路径,file->set symbol path
有联网的机子可使用微软提供网络符号库:SRV*e:/temp/*http://msdl.microsoft.com/download/symbols 其中e:/temp为本地的缓存目录
无联网的机子使用本地安装的符号路径库:例如 D:\Symbol
6.关闭windbg再打开,确认file->set symbol path 下路径以保存
7.attach程序
(1)file->attach to a process:根据名字或id选进程
(2)attach后进程会被中断挂起,先 F5 或 g指令 继续执行
(3)当进程触发异常时,信息会被windbg截获,并在界面上输出 RaiseException 之类的,用指令: .dump /ma c:\demp\test.dmp 生成dump文件
其中 /ma 是一个选项,表示dump文件类型
/m:注解: 缺省选项,生成标准的minidump, 转储文件通常较小,便于在网络上通过邮件或其他方式传输。 这种文件的信息量较少,只包含系统信息、加载的模 块(DLL)信息、 进程信息和线程信息。
/ma:注解: 带有尽量多选项的minidump(包括完整的内存内容、句柄、未加载的模块,等等),文件很大,但如果条件允许(本机调试,局域网环境), 推荐使用这中dump。
/mFhutwd:注解:带有数据段、非共享的读/写内存页和其他有用的信息的minidump。包含了通过minidump能够得到的最多的信息。是一种折中方案。
(4)在截获异常时,也可以查看进程当时的状态,如函数调用栈,行数,临时变量等
(5)调试器分离:debug->detach debuggee
adplus.exe 守护进程工具
adplus为 windbg 的附带工具,相当于守护进程的作用,可用于守护一个或多个同名进程,当进程发生异常时,会自动保存dump文件到相应目录,相比windbg简化了几步操作,配置 bat 使用更是方便快捷
(1)找到目录:adplus.exe 是在windbg的目录下,win32为路径为 C:\Program Files\Windows Kits\8.0\Debuggers\x86
(2)指令:adplus -crash -po test.exe -o c:\dumps
其中 test.exe 为守护对象进程名, c:\dumps 为最终dump文件生成目录
(3)对adplus 的指令有更进一步的需求的,可查看同目录下帮助文档 adplus.doc
转载于:https://www.cnblogs.com/johnice/archive/2013/01/17/2864205.html
利用 windbg 或 adplus 生成 dump 文件相关推荐
- java 生成dump文件_程序自动生成Dump文件
前言:通过drwtsn32.NTSD.CDB等调试工具生成Dump文件,drwtsn32存在的缺点虽然NTSD.CDB可以完全解决,但并不是所有的操作系统中都安装了NTSD.CDB等调试工具.了解了m ...
- 利用 dbghelp.dll 生成 dump 文件
dbghelp.dll windows的系统目录system32下,都有dbghelp.dll,但在实际使用时,往往会让exe加载自己目录下的dll,以避免系统目录下的dll版本不一导致的程序异常. ...
- 启动(程序还没执行生成dump文件的代码)就崩溃的处理流程
何志丹 如果有专业人员,利用Windbg启动这个程序,在分析就可以了. 上次崩溃,让大家手忙脚乱.所以列了一个启动(程序还没执行生成dump文件的代码)就崩溃的处理流程. 1,用我写的opendll. ...
- 如何手动生成Dump文件并分析Dump文件
大家都知道,当服务器出现蓝屏问题时,我们需要获取系统所产生的DUMP文件进行分析,如何确保在系统问题发生时,可以正确的生成所需要的DUMP文件呢?我们需要做如下检查: 1).右键点击"我的电 ...
- [Windows编程] 如何捕捉程序异常/crash 并生成 dump 文件
前面介绍如如何用WinDBG 生成crash dump <WinDBG 技巧:如何生成Dump 文件(.dump 命令) >,但是用户机器上通常不安装WinDBG, 而且多数用户也不知道怎 ...
- Windbg内核调试之四: Dump文件分析
Dump 文件分析很大程度上就是分析蓝屏产生的原因.这种系统级的错误算是Windows提示错误中比较严重的一种(更严重的还有启动黑屏等硬件或软件兼容性错误等等).说它是比较严重,是因为毕竟Window ...
- linux手动生成dump文件权限不足_linux下生成dump文件方法及设置
https://andyniu.iteye.com/blog/1965571 Linux中生成 Core Dump 文件的方法 1 什么是 Core Dump Core Dump 又叫核心转储.在程序 ...
- Windows下生成dump文件的三种方式
文章目录 前言 一.什么是dump文件? 概述 dump分类 内核模式Dump 用户模式Dump 二.dump生成方式 实现方法 方法一:修改注册表 参数说明 方法二:生动创建转储文件 方法三:通过代 ...
- linux下生成dump文件方法及设置
Linux中生成 Core Dump 文件的方法 1 什么是 Core Dump Core Dump 又叫核心转储.在程序运行过程中发生异常时,将其内存数据保存到文件中,这个过程叫做 Core Dum ...
最新文章
- Linux系统存储交换机日志
- 格力的“阵痛”与“头痛”
- 13个大奖任你拿,网易MINI开发挑战赛强势来袭!
- 一次发现underscore源码bug的经历以及对学术界『拿来主义』的思考
- kibana操作elasticsearch:match匹配查询(and关系)
- 注册时,邮箱自动发送验证
- 单引号、双引号和不加引号区别
- 参考文献起止页码怎么写_参考文献起止页码格式
- 【从零开始的OpenGL学习】1. 配置OpenGL,绘制最简单的一个三角形,HelloWorld(学习笔记)
- 皮肤html代码大全,清新QQ空间免费皮肤代码大全(可用)
- 智能电动自行车充电桩系统解决方案
- 斑马网络招聘汽车安全软件工程师
- win10计算机入门使用教程,win10技巧大全_win10使用技巧方法教程 - 系统家园
- php怎么联网,家庭宽带上网连接方式
- 【C语言经典案例】用*号输出字母C的图案
- 最新Tomcat安装及配置教程+JavaWeb项目部署
- 强化学习之CartPole游戏(Q-learning)
- Jackson转换JSON字符串
- 中国银行软件中心2023校园招聘
- Java GUI程序示例
热门文章
- Python以不同的形式输出被整除的数
- 移动端网页自适应解决方案
- 小米安装linux驱动怎么安装教程,小米数据线驱动-小米usb驱动程序下载 官方最新版-附小米手机驱动图文安装方法-IT猫扑网...
- C++的类与对象升华
- 【面经】武汉东方赛思--应用开发工程师
- 互动媒体技术作业——赏析艺术系“自画像“
- Python编程——shelve模块的使用详解(附实例)
- 8年P7大鸟,回想自己的2020,能进阿里真不容易···
- python shelve
- GreenDao简明教程(查询,Querying)