C/C++教程

windows c++ 优雅的捕获crash并处理

本文主要是介绍windows c++ 优雅的捕获crash并处理,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
  1. crash 是在所难免的

你像qq 和 微信 也避免不了crash, 但是当crash 出现后, 怎么处理比较好呢?
你像qq 崩溃后 提示 抱歉 qq 遇到意外情况, xxxx 然后收集 dump 就退出了

这样用户体验还可以, 如果是弹出一个 默认的红框 加一大串英文 可能用户就骂娘了

ok,咱们也优雅的处理一下。

关键函数

::SetUnhandledExceptionFilter

看 msdn 介绍

在这里插入图片描述
就是一个crash 异常过滤器, 传入一个 callback 然后 crash 后就进入你的callback

行了,看一个非常简单的demo吧
请添加图片描述
解释下这个demo

点击中间按钮的时候 触发崩溃, 然后就弹出个框 说 我崩溃了 然后退出。

就几行代码 大家看一下

在这里插入图片描述
上来先注册这个异常崩溃过滤器
然后点击按钮 操作nullptr指针导致崩溃
进入callback 弹窗崩溃了.

ok 就这么简单 至于 崩溃后 怎么收集存储 崩溃的dump 信息
请看我的另一篇文章
windows下dump捕获 crashpad

这篇关于windows c++ 优雅的捕获crash并处理的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!