VS调试DMP文件】的更多相关文章

前言:WinDbg是微软开发的免费源代码级的调试工具.WinDbg可以用于Kernel模式调试和用户模式调试,还可以调试Dump文件.本文的讨论是在安装了Debugging Tools for Windows 的前提下进行的,下载地址可以参考我之前的文章.WinDbg对于dump文件的调试可以通过菜单设置Symbol File Path.Source File Path ,并可设置多个路径. 1.  打开Dump格式文件 打开WinDbg,通过菜单[File] à [Open Crash dum…
当一个发布的.NET应用程序出现app crash,无法通过日志分析异常原因时,就需要通过分析DMP文件了,传统方式是通过WinDbg来分析DMP文件,但是WinDbg用起来不是很方便,其实VS就是一个很好的DMP文件分析工具,这里我们通过一个简单的控制台项目来分析一个DMP文件. 一.准备一个Demo项目 (1)在VS中新建一个控制台项目,取名Sobey.NullPointerDemo,并在Main方法中写入以下代码: class Program { static void Main(stri…
1.提取Dump格式文件 有两种方式: 第一种,程序崩溃时,启动任务管理器,选择崩溃的*.exe进程,右键选择创建转储文件,通过 开始—运行—输入 %temp% --确定--在打开Temp窗口中即可找到*.dmp文件. 第二种,通过windbg生成dump 文件. 步骤:       1) 打开Windbg并将之Attach 到crash的程序进程       2) 输入产生dump 文件的命令        Windbg产生dump 文件的命令是 .dump ,可以选择不同的参数来生成不同类型…
1.生成dmp的程序 #include  <dbghelp.h> #pragma comment(lib,  "dbghelp.lib") //设置异常处理回调函数SetUnhandledExceptionFilter(UnhandledExceptionFilter); //异常处理代码//EXCEPTION_EXECUTE_HANDLER equ 1 表示我已经处理了异常,可以优雅地结束了 //EXCEPTION_CONTINUE_SEARCH equ 0 表示我不处理…
前言:在C++实际开发过程中,开发出来的程序,一般情况下由开发人员进行单元测试,然后移交给测试人员进行测试.在开发人员测试出现的bug,我们可以直接在本地进行调试.如果测试人员测试出崩溃级别的bug,如果我们需要调试往往借助于vs提供的Remote Debugger工具进行远程调试(关于vs2010远程调试的方法,请参考http://blog.sina.com.cn/s/blog_a459dcf5010153o7.html),然是当程序在用户手中出现崩溃此时我们可以采用Remote Debugg…
Windbg抓取程序崩溃的dmp文件的方法 一.        简介 windbg是在windows平台下,强大的用户态和内核态调试工具.相比较于Visual Studio,它是一个轻量级的调试工具,所谓轻量级指的是它的安装文件大小较小,但是其调试功能,却比VS更为强大.它的另外一个用途是可以用来分析dump数据. 我们使用windbg的主要用途是来抓取IE崩溃产生的dmp文件,然后可以查看是哪个模块导致崩溃,从而协助开发判断分析问题所在. 二.        使用方法 设置WinDbg抓取环境…
自定义VS程序异常处理及调试Dump文件(一) 1. Dump文件 1. Dump文件介绍 Dump文件(Dump File),也叫转储文件,以.DMP为文件后缀.dump文件是进程在内存中的镜像文件,通过转换然后存储成以.DMP后缀的文件.dump文件根据存储时的选项不同,会生成不同大小的文件,其中记录信息也自然有所不同. 2. Dump文件分类 程序分两种,内核模式程序和用户模式程序,也即Ring0程序和Ring3程序.Dump文件是伴随着程序而生成的,所以Dump文件也同样分两种. Ker…
转储文件也就是我们常说的dump文件.可以把转储文件看成软件的某个时刻的一个快照.转储文件一般都是在软件出现问题时手动生成或者程序自动生成.下面我们介绍几种生成转储文件的方法. 1. 任务管理器 任务管理器可以说是最易获取的系统工具,同时它具有生成转储文件的功能.但要注意的是在64位操作系统上面,默认启动的是64位的任务管理器.使用任务管理器生成转储文件需要遵循一个原则:用32位任务管理器给32位进程(无论该进程是运行在32位还是64位系统上面)生成转储文件,用64位任务管理器给64位进程生成转…
使用前准备: 1.保存编译文件的PDB文件(要和生成exe文件的对应) 2.在开发机器上,使用vs直接双击打开dmp文件,注意 进程名称 ,这个是程序运行crash的时候所在的目录位置,这个很重要. 3.把pdb文件和exe文件放到进程名称所在的目录下面,如果开发环境机器上没有这个目录,那么就新建这个目录,否则无法加载符号,调试只能看汇编代码. 4.点击使用仅限本机进行调试,就可以方便的看到源代码进行调试了.…
前一节我讲了怎么设置C++崩溃时生成Dump文件 , 点击 传送门 , 这一节我讲讲怎么使用 VS2012 调试生成的 Dump 文件 , 甚至可以精确到出错的那一行代码上面 ; 1. 生成 Dump 文件 我在主函数写了如下崩溃代码 : int main() { // 加入崩溃dump文件功能 SetUnhandledExceptionFilter(ExceptionFilter); // 使程序崩溃产生 Dump 文件 int *p = NULL; *p=; } 双击运行主程序 , 产生了…