为什么谷歌破板不能处理所有崩溃?如何调试这些情况
Why does google breakpad not handle all crashes? How can I debug these cases?
我正在使用google-breakpad。这是一个在后台运行的错误报告程序,以报告另一个进程的崩溃。
它几乎适用于所有情况。
但是,它偶尔无法抓住崩溃。没有报告,也没有转储文件。它只是崩溃。崩溃的最后一个线索是窗口事件消息。
如何调试这些崩溃?什么会导致Breakpad无法处理崩溃?我可以使用哪些方法来调试情况?
Visual C++
C/C++ 运行时库将在某些情况下删除带有 SetUnhandledExceptionFilter
的挂钩集;例如,当它检测到缓冲区溢出或其他安全问题时。
此Microsoft反馈页列出了在大多数情况下如何停止此行为,但指出缓冲区溢出情况不可能在不引入安全问题的情况下。
相关文章:
- 当回溯以零开始时,如何调试崩溃
- 在linux上调试巨大的C++项目
- 为什么使用__LINE_的代码在发布模式下在MSVC下编译,而不是在调试模式下
- 如何针对特定情况调试和修复此双自由内存损坏问题
- 正在VS调试器中监视映射条目
- 使用调试/崩溃报告将应用程序部署到客户端
- VC++本机单元测试,找不到调试符号
- 如何在C++生成器中禁用"使用调试.dcus"
- 使用vscode调试时,GDB意外退出
- 即使使用调试编译标志,表达式也是"optimized out"
- 调试 CUDA MMU 故障
- 小字符串优化(调试与发布模式)
- 调试和自由执行中的信号处理
- 调试编译的服务器在数据库打开时崩溃
- Visual Studio 调试优化如何工作?
- 如何配置Visual Studio Code以使用cygwin,cmake和gcc进行调试
- 调试和发布配置 (c++) 中内置的共享库之间的用法有何区别?
- 调试调试器内部未发生的崩溃
- 使用 Dev-C++ 5.2.0.2 进行调试 - 调试时找不到程序文件 gdb.exe
- 调试与发布可执行文件有何不同?