日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

dump文件的生成及的分析

發布時間:2025/7/14 编程问答 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 dump文件的生成及的分析 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一、使用程序自動生成dump文件。在程序運行崩潰時,會自動生成到程序運行目錄。添加以下。

#include <DbgHelp.h>

#pragma comment(lib, "dbghelp.lib")//注意:動態庫dbghelp.dll也要加入到運行目錄下。


LONG __stdcall ExceptCallBack(EXCEPTION_POINTERS *pExcPointer)

{

char szFileName[1024] = { 0 };


GetModuleFileName(NULL, szFileName, sizeof(szFileName));

string strFilePath(szFileName);

int pos = strFilePath.find_last_of('\\', strFilePath.length());

string strDir = strFilePath.substr(0, pos + 1); ? ? ? ? ? ? ? ? ? ? ? // 獲取文件夾路徑

int suffixPos = strFilePath.find_last_of(".", strFilePath.length());

string strFile = strFilePath.substr(pos + 1, suffixPos - pos - 1); ? ? // 文件名稱


string strDmpfile = strDir.append(strFile).append(".dmp"); ? ? ? ? ? ?// 配置文件路徑

string erromsg = "程序崩潰!相關信息記錄在:" + strDmpfile;

MessageBox(NULL, erromsg.c_str(), NULL, MB_OK);


//創建dump文件

HANDLE hFile = CreateFile(strDmpfile.c_str(), GENERIC_WRITE, 0, NULL, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL);


//向文件寫下當前程序崩潰相關信息

MINIDUMP_EXCEPTION_INFORMATION loExceptionInfo;

loExceptionInfo.ExceptionPointers = pExcPointer;

loExceptionInfo.ThreadId = GetCurrentThreadId();

loExceptionInfo.ClientPointers = TRUE;

MiniDumpWriteDump(GetCurrentProcess(), GetCurrentProcessId(), hFile, (MiniDumpNormal), &loExceptionInfo, NULL, NULL);

CloseHandle(hFile);


return EXCEPTION_EXECUTE_HANDLER;

}



int main(int argc, char* argv[])

{ ?

//main開始,注冊生成dump回調

SetUnhandledExceptionFilter(ExceptCallBack);

????????...

}


二、然后將對應版本的pdb文件和dump文件放到同一個文件夾內。用windbg.exe 加載“Open crash Dump”.


加載后,輸入命令:“.ecxr” ?來顯示錯誤上下文

?????????????????“ kb ?” ? 來顯示調用堆棧

即可定位問題行數。

或者用 ? ? ? ? ? ?!analyze -v 來自動分析

轉載于:https://blog.51cto.com/danielllf/1609304

總結

以上是生活随笔為你收集整理的dump文件的生成及的分析的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。