强力 调试 工具 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 文件相关推荐

  1. java 生成dump文件_程序自动生成Dump文件

    前言:通过drwtsn32.NTSD.CDB等调试工具生成Dump文件,drwtsn32存在的缺点虽然NTSD.CDB可以完全解决,但并不是所有的操作系统中都安装了NTSD.CDB等调试工具.了解了m ...

  2. 利用 dbghelp.dll 生成 dump 文件

    dbghelp.dll windows的系统目录system32下,都有dbghelp.dll,但在实际使用时,往往会让exe加载自己目录下的dll,以避免系统目录下的dll版本不一导致的程序异常. ...

  3. 启动(程序还没执行生成dump文件的代码)就崩溃的处理流程

    何志丹 如果有专业人员,利用Windbg启动这个程序,在分析就可以了. 上次崩溃,让大家手忙脚乱.所以列了一个启动(程序还没执行生成dump文件的代码)就崩溃的处理流程. 1,用我写的opendll. ...

  4. 如何手动生成Dump文件并分析Dump文件

    大家都知道,当服务器出现蓝屏问题时,我们需要获取系统所产生的DUMP文件进行分析,如何确保在系统问题发生时,可以正确的生成所需要的DUMP文件呢?我们需要做如下检查: 1).右键点击"我的电 ...

  5. [Windows编程] 如何捕捉程序异常/crash 并生成 dump 文件

    前面介绍如如何用WinDBG 生成crash dump <WinDBG 技巧:如何生成Dump 文件(.dump 命令) >,但是用户机器上通常不安装WinDBG, 而且多数用户也不知道怎 ...

  6. Windbg内核调试之四: Dump文件分析

    Dump 文件分析很大程度上就是分析蓝屏产生的原因.这种系统级的错误算是Windows提示错误中比较严重的一种(更严重的还有启动黑屏等硬件或软件兼容性错误等等).说它是比较严重,是因为毕竟Window ...

  7. linux手动生成dump文件权限不足_linux下生成dump文件方法及设置

    https://andyniu.iteye.com/blog/1965571 Linux中生成 Core Dump 文件的方法 1 什么是 Core Dump Core Dump 又叫核心转储.在程序 ...

  8. Windows下生成dump文件的三种方式

    文章目录 前言 一.什么是dump文件? 概述 dump分类 内核模式Dump 用户模式Dump 二.dump生成方式 实现方法 方法一:修改注册表 参数说明 方法二:生动创建转储文件 方法三:通过代 ...

  9. linux下生成dump文件方法及设置

    Linux中生成 Core Dump 文件的方法 1 什么是 Core Dump Core Dump 又叫核心转储.在程序运行过程中发生异常时,将其内存数据保存到文件中,这个过程叫做 Core Dum ...

最新文章

  1. Linux系统存储交换机日志
  2. 格力的“阵痛”与“头痛”
  3. 13个大奖任你拿,网易MINI开发挑战赛强势来袭!
  4. 一次发现underscore源码bug的经历以及对学术界『拿来主义』的思考
  5. kibana操作elasticsearch:match匹配查询(and关系)
  6. 注册时,邮箱自动发送验证
  7. 单引号、双引号和不加引号区别
  8. 参考文献起止页码怎么写_参考文献起止页码格式
  9. 【从零开始的OpenGL学习】1. 配置OpenGL,绘制最简单的一个三角形,HelloWorld(学习笔记)
  10. 皮肤html代码大全,清新QQ空间免费皮肤代码大全(可用)
  11. 智能电动自行车充电桩系统解决方案
  12. 斑马网络招聘汽车安全软件工程师
  13. win10计算机入门使用教程,win10技巧大全_win10使用技巧方法教程 - 系统家园
  14. php怎么联网,家庭宽带上网连接方式
  15. 【C语言经典案例】用*号输出字母C的图案
  16. 最新Tomcat安装及配置教程+JavaWeb项目部署
  17. 强化学习之CartPole游戏(Q-learning)
  18. Jackson转换JSON字符串
  19. 中国银行软件中心2023校园招聘
  20. Java GUI程序示例

热门文章

  1. Python以不同的形式输出被整除的数
  2. 移动端网页自适应解决方案
  3. 小米安装linux驱动怎么安装教程,小米数据线驱动-小米usb驱动程序下载 官方最新版-附小米手机驱动图文安装方法-IT猫扑网...
  4. C++的类与对象升华
  5. 【面经】武汉东方赛思--应用开发工程师
  6. 互动媒体技术作业——赏析艺术系“自画像“
  7. Python编程——shelve模块的使用详解(附实例)
  8. 8年P7大鸟,回想自己的2020,能进阿里真不容易···
  9. python shelve
  10. GreenDao简明教程(查询,Querying)