zoukankan      html  css  js  c++  java
  • 使用 WinDbg 分析dump文件

    步骤一:

      生成dump文件。

    #include <Windows.h>  
    #include <iostream>  
    #include <DbgHelp.h>
    #include <tchar.h>
    using namespace std;
    
    #pragma comment(lib, "dbghelp.lib")
    
    LONG WINAPI TopLevelExceptionFilter(struct _EXCEPTION_POINTERS *pExceptionInfo)    
    {  
        cout << "Enter TopLevelExceptionFilter Function" << endl;    
        HANDLE hFile = CreateFile( _T("project.dmp"),GENERIC_WRITE,0,NULL,CREATE_ALWAYS,FILE_ATTRIBUTE_NORMAL,NULL);  //创建dmp文件
        MINIDUMP_EXCEPTION_INFORMATION stExceptionParam;    
        stExceptionParam.ThreadId    = GetCurrentThreadId();    
        stExceptionParam.ExceptionPointers = pExceptionInfo;    
        stExceptionParam.ClientPointers    = FALSE;    
        MiniDumpWriteDump(GetCurrentProcess(),GetCurrentProcessId(),hFile,MiniDumpWithFullMemory,&stExceptionParam,NULL,NULL);  //写dmp文件
        CloseHandle(hFile);    
        getchar();  
        return EXCEPTION_EXECUTE_HANDLER;  
    }  
    
    int main()  
    {  
        cout<<"Enter Main Function"<<endl;  
        SetUnhandledExceptionFilter(TopLevelExceptionFilter);   //设置异常捕获函数 TopLevelExceptionFilter
        int *pValue = NULL;
        //int a = 1;
        //pValue = &a;
        //*pValue = 2;
        //cout<<*pValue<<endl;
        cout<<"Invalid Access"<<endl;  
        *pValue = 1;    //写 0地址,程序崩溃
        cout<<"Finish Main Function"<<endl;  
        getchar();  
    
        return 0;  
    } 

      1. 把dbghelp.dll 放置在生成的exe路径下:

        

      2. 执行exe,生成dmp文件:

        

    步骤二:

      使用 WinDbg 分析 dmp 文件。

      1.安装WinDbg

      2.设置WinDbg

        a.设置符号表路径:

          

          

        b.设置源代码路径:

          

           

        c.dmp文件导入:

          

          

        d.使用命令:!analyze -v 分析dmp文件:

          

          

          

  • 相关阅读:
    php遍历目录
    PHP处理一个5G文件,使用内存512M的,数据为整形,从大到小排序,优化排序算法
    百钱买百鸡问题 php版本
    青蛙跳100级台阶算法,完整可运行,php版本
    网站如何整体换角度
    SOA架构设计(转发)
    一些稍微复杂点的sql语句
    php变量和数组大小限制
    uploadify中文开发文档,解决php多图上传
    mysql索引的一些知识
  • 原文地址:https://www.cnblogs.com/SZxiaochun/p/7404665.html
Copyright © 2011-2022 走看看