`
隐形的翅膀
  • 浏览: 496594 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

生成dump文件

 
阅读更多
1. exception_handler.h

#pragma once  
#include "windows.h"
#include <dbghelp.h>     
#include <shellapi.h>     
#include <shlobj.h>  
  
#pragma comment( lib, "DbgHelp")  
  
static LONG WINAPI MyUnhandledExceptionFilter(struct _EXCEPTION_POINTERS* ExceptionInfo)  
{  
    HANDLE lhDumpFile = CreateFile(L"DumpFile.dmp", GENERIC_WRITE, 0, NULL, CREATE_ALWAYS,FILE_ATTRIBUTE_NORMAL ,NULL);  
    MINIDUMP_EXCEPTION_INFORMATION loExceptionInfo;  
    loExceptionInfo.ExceptionPointers = ExceptionInfo;  
    loExceptionInfo.ThreadId = GetCurrentThreadId();  
    loExceptionInfo.ClientPointers = TRUE;  
  
    MiniDumpWriteDump(GetCurrentProcess(), GetCurrentProcessId(),lhDumpFile, MiniDumpNormal, &loExceptionInfo, NULL, NULL);  
  
    CloseHandle(lhDumpFile);  
  
    ::ShellExecuteW(NULL, NULL, L"BugReport.exe", NULL, NULL, SW_NORMAL);  
  
    return EXCEPTION_EXECUTE_HANDLER;  
}  


主程序

#include "stdafx.h"
#include "exception_handler.h"
int _tmain(int argc, _TCHAR* argv[])
{
	SetUnhandledExceptionFilter(MyUnhandledExceptionFilter); 
	return *(int*)0;
}


2) 主程序中包含该头文件, 并在主函数开头调用:

SetUnhandledExceptionFilter(MyUnhandledExceptionFilter);

注意, 该头文件尽量放在最前。 【放在后面编译时可能会出dbghelp.h中的各种错误】



3) 运行。 异常时会生成DumpFile.dmp

4) vs2010。 直接双击dmp文件会在vs2010中显示dump的summary, 右上方的“操作”栏会出现在本机调试字样。 调试即可。

dmp、pdb、exe需放在同一目录下
分享到:
评论

相关推荐

    C++ 生成Dump文件

    为了解决这些问题,开发者通常需要借助调试工具,其中一种常用的方法是生成Dump文件。Dump文件可以记录程序崩溃时的内存状态,包括堆栈信息、线程状态、内存分配等,帮助开发者定位问题所在。 "C++ 生成Dump文件"是...

    C++生成dump文件

    在Windows操作系统上,当应用程序遇到未捕获的异常或错误时,生成dump文件是一种非常有用的调试手段。dump文件包含了程序崩溃时的内存快照,包括堆栈信息、进程和线程状态、全局变量等,可以帮助开发者分析问题的...

    qt vs编译器下生成dump文件,方便调试。

    在Qt和Visual Studio(VS)环境下进行软件开发时,生成dump文件是一种常见的调试手段。当应用程序崩溃或出现未预期的行为时,dump文件可以保存程序运行时的状态,包括内存分配、线程信息、堆栈跟踪等,这对于定位...

    vs2013生成dump文件

    在IT行业中,生成dump文件是一项重要的故障排查技术,尤其是在处理应用程序崩溃或挂起等问题时。在本场景中,我们关注的是使用Visual Studio 2013(VS2013)这一开发工具来生成dump文件。dump文件包含了程序运行时刻...

    c++ 生成dump文件小程序

    当程序在运行过程中出现错误或异常时,生成dump文件是一种常用的调试手段。Dump文件包含了程序崩溃时的内存快照,包括堆栈信息、进程状态、线程信息等,这对于分析程序崩溃原因非常有帮助。 在"C++ 生成dump文件小...

    Windows系统下的Qt处理崩溃异常的Dump库,生成Dump文件.zip

    "Windows系统下的Qt处理崩溃异常的Dump库,生成Dump文件" 这个标题涉及到的是在Windows操作系统中使用Qt框架进行程序开发时,如何处理程序崩溃异常并生成内存转储(Dump)文件的技术。Dump文件是程序运行时内存状态...

    vs2010如何修改工程使得应用程序崩溃自动生成dump文件

    本文档将详细介绍如何在Visual Studio 2010 (VS2010)中配置一个项目,使其能够在程序崩溃时自动生成DUMP文件,并提供一些基本的DUMP文件分析方法。 #### 一、基础知识介绍 在开始之前,我们先了解一些基本概念: ...

    VS2010 C++程序生成Dump文件例子

    在编程领域,生成Dump文件是一项重要的调试技巧,尤其是在C++编程中。Dump文件可以记录程序运行时的状态,包括内存分配、线程信息、堆栈跟踪等,有助于开发者分析程序崩溃或异常的原因。在这个"VS2010 C++程序生成...

    Windows下用于生成Dump文件的工具

    "Windows下用于生成Dump文件的工具"就是为了解决这一问题而存在的。该工具名为Procdump,由Sysinternals开发,它是一个命令行实用程序,专门设计用来捕获进程的内存转储(Dump文件)。Dump文件包含了进程在特定时间...

    生成DUMP文件的静态库

    本教程将详细讲解如何使用WinDbg生成DUMP文件,并创建一个静态库来支持这个过程。 首先,我们需要理解DUMP文件。DUMP文件是操作系统或应用程序在出现异常时生成的一种故障转储文件,它包含了内存中的关键信息,如...

    VC6.0 C++程序生成Dump文件例子

    生成Dump文件的关键是使用Windows API中的`MiniDumpWriteDump`函数,该函数允许我们将进程的内存状态写入到Dump文件中。为了调用这个函数,我们需要包含以下头文件: ```cpp #include #include ``` 然后,确保...

    windows生成dump文件并分析

    Windows 生成 dump 文件并分析 Windows 生成 dump 文件是一种调试技术,用于排查 Windows 客户端异常。 Dump 文件包含了程序崩溃时的内存信息,可以帮助开发者和debug员快速定位问题。 设置 dump 文件生成 在 ...

    在win7下生成dump文件的头文件

    在Windows操作系统中,生成dump文件是一项重要的调试技术。Dump文件是一种包含了进程内存状态的文件,当应用程序崩溃或出现异常时,它可以提供给开发者用于后期分析和调试。在本案例中,我们关注的是如何在Windows 7...

    win7开启生成Dump文件功能

    在Windows 7操作系统中,与Windows XP相比,系统默认不再提供Dr.Watson这个故障记录工具,因此,如果想要在Win7系统下生成Dump文件,就需要采取其他方法。Dump文件是一种用于故障排查的重要数据,它包含了系统崩溃时...

    生成DUMP文件的库

    在IT行业中,生成DUMP文件是一项重要的调试技术,特别是在Windows平台下。DUMP文件是系统或应用程序崩溃时保存的内存快照,包含了当时的内存状态、线程信息、堆栈跟踪等,这对于诊断软件错误和异常行为非常有帮助。...

    SEH异常捕获类,生成dump文件

    本主题将深入探讨如何利用SEH来捕获异常,并在程序崩溃时生成dump文件,以便于后期分析和调试。 **SEH异常处理** SEH是一种在Windows平台上特有的异常处理机制,它允许程序员定义一系列处理程序来捕获和处理各种...

    Windows程序崩溃后通过代码产生完整dump

    而通过生成dump文件,我们可以捕获程序崩溃时的状态,包括内存布局、线程信息、堆栈回溯等,这对于后期分析和解决问题至关重要。本文将详细探讨如何在Windows程序崩溃后通过代码生成完整的dump文件,以及如何控制...

    windows异常通过注册表生成DUMP文件

    本文将详细讲解如何通过修改注册表来开启或关闭Windows系统生成DUMP文件的功能。 首先,我们需要了解DUMP文件的类型。Windows支持三种类型的DUMP文件: 1. **小内存转储(Small Memory Dump)**:只包含内核模式下...

    程序报错生成dump文件

    windows程序报错生成dump文件,方便找错误原因

    miniDump生成dump文件的开源软件

    在IT行业中,生成dump文件是调试和分析程序异常情况的重要手段。dump文件包含了程序运行时内存的状态,可以用于后续的故障排查和问题诊断。这里我们要关注的是一款名为"miniDump"的开源软件,它专门用于生成这样的...

Global site tag (gtag.js) - Google Analytics