当前位置: 首页> 游戏> 游戏 > 广州网站建设制作的公司_泉州seo_抖音seo排名软件_无锡seo排名收费

广州网站建设制作的公司_泉州seo_抖音seo排名软件_无锡seo排名收费

时间:2025/7/12 10:58:29来源:https://blog.csdn.net/weixin_43868793/article/details/146912956 浏览次数:1次
广州网站建设制作的公司_泉州seo_抖音seo排名软件_无锡seo排名收费

开发出一款应用在上线运行可能会出现突然暴毙崩溃的情况,这时候该如何排查出原因呢,
如果可以"开棺验尸"的话,就应该可以轻松找出原因并改正。

异常钩子 SetUnhandledExceptionFilter

#include <Windows.h>
#include <cstdint>
#include <DbgHelp.h>LONG WINAPI ExceptionFilter(EXCEPTION_POINTERS* pExp)
{HANDLE hFile = CreateFile(L"Crash.dmp", GENERIC_WRITE, 0, NULL, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL);if (hFile != INVALID_HANDLE_VALUE) {MINIDUMP_EXCEPTION_INFORMATION mdei = { GetCurrentThreadId(), pExp, FALSE };MiniDumpWriteDump(GetCurrentProcess(), GetCurrentProcessId(), hFile,static_cast<MINIDUMP_TYPE>(MiniDumpWithFullMemory | MiniDumpWithHandleData),&mdei, NULL, NULL);CloseHandle(hFile);}return EXCEPTION_EXECUTE_HANDLER;
}int main()
{SetUnhandledExceptionFilter(ExceptionFilter);DebugBreak(); // 触发一次崩溃return 0;
}

运行程序后在程序目录中会有一个Crash.dmp文件
使用WinDbg打开
在这里插入图片描述
在这里插入图片描述
可以看到这是一个MiniDump文件,并成功打开了
现在使用!analyze -v 简单分析下
在这里插入图片描述
很容易找到引发崩溃的位置

WinDbg -I

管理员权限打开CMD,然后cd到WinDbg的目录下,执行windbg.exe -I
在这里插入图片描述
看到这样界面就是WinDbg注册为默认的Postmortem Debugger 成功了
在这里插入图片描述

如果想取消注册可以使用命令windbg.exe -IU

现在有程序

#include "stdafx.h"
#include <Windows.h>
#include <DbgHelp.h>int main()
{DebugBreak();return 0;
}

运行后立即弹出
在这里插入图片描述
简单看一下调用堆栈
在这里插入图片描述

关键字:广州网站建设制作的公司_泉州seo_抖音seo排名软件_无锡seo排名收费

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: