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

  1. crash 是在所难免的

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

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

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

关键函数

::SetUnhandledExceptionFilter

看 msdn 介绍

windows c++ 优雅的捕获crash并处理
就是一个crash 异常过滤器, 传入一个 callback 然后 crash 后就进入你的callback

行了,看一个非常简单的demo吧
windows c++ 优雅的捕获crash并处理
解释下这个demo

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

就几行代码 大家看一下

windows c++ 优雅的捕获crash并处理
上来先注册这个异常崩溃过滤器
然后点击按钮 操作nullptr指针导致崩溃
进入callback 弹窗崩溃了.

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

上一篇:QQ会员抽奖系统引流源码


下一篇:ECMAScript2015解构赋值的基本用法