c++ - 为什么 google breakpad 不能处理所有崩溃?我该如何调试这些案例?

标签 c++ exception crash crash-dumps google-breakpad

我正在使用 google-breakpad . 这是一个错误报告程序,在后台运行以报告另一个进程的崩溃。

它几乎适用于所有情况。

然而,它有时无法捕捉到崩溃。没有报告,也没有转储文件。 它只是崩溃。崩溃的最后线索是 Windows 事件消息。

如何调试这些崩溃?什么会导致 Breakpad 无法处理崩溃?我可以使用哪些方法来调试这种情况?

最佳答案

在某些情况下,Visual C++ C/C++ 运行时库会移除使用 SetUnhandledExceptionFilter 设置的钩子(Hook);例如,当它检测到缓冲区溢出或其他安全问题时。

This Microsoft feedback page列出了如何在大多数情况下停止此行为,但指出在不引入安全问题的情况下缓冲区溢出情况是不可能的。

关于c++ - 为什么 google breakpad 不能处理所有崩溃?我该如何调试这些案例?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11350801/

相关文章:

c++ - C++代码混淆中的typedef

C++条件语句来测试变量是否为字符串

c++ - 从 vb 调用 c++ dll 时在 "new"上崩溃

C# WPF 应用程序在 VS 调试中运行,但不作为 EXE 运行

c# - 如何在不使用 try catch 的情况下处理异常?

iphone - Objective-C iPhone 应用程序 EXC_BREAKPOINT (SIGTRAP)

c++ - 将字符串转换为 UTF-8 转义序列

c++ - 如何将 boost::python::iterator 与 return_internal_reference 一起使用?

c - 引发异常的 Windows API

python - 如何将 traceback/sys.exc_info() 值保存在变量中?