我正在使用 google-breakpad . 这是一个错误报告程序,在后台运行以报告另一个进程的崩溃。
它几乎适用于所有情况。
然而,它有时无法捕捉到崩溃。没有报告,也没有转储文件。 它只是崩溃。崩溃的最后线索是 Windows 事件消息。
如何调试这些崩溃?什么会导致 Breakpad 无法处理崩溃?我可以使用哪些方法来调试这种情况?
最佳答案
在某些情况下,Visual C++ C/C++ 运行时库会移除使用 SetUnhandledExceptionFilter
设置的钩子(Hook);例如,当它检测到缓冲区溢出或其他安全问题时。
This Microsoft feedback page列出了如何在大多数情况下停止此行为,但指出在不引入安全问题的情况下缓冲区溢出情况是不可能的。
关于c++ - 为什么 google breakpad 不能处理所有崩溃?我该如何调试这些案例?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11350801/