抱歉新手问题。我有libnative_exception_handler.so和breakpad init:
google_breakpad::MinidumpDescriptor descriptor(".");
google_breakpad::ExceptionHandler eh(descriptor, NULL, breakpad_callback, NULL, true, -1);
和libfunc.so带有不安全的函数。
两个lib都使用System.loadLibrary();
如果在libnative_exception_handler.so
中完成了breakpad init,则不会捕获信号并且不会调用breakpad回调。如果我将libfunc.so
源更改为init,则会捕获断点信号。那么breakpad需要在不安全函数所在的同一个库中初始化吗?
更新:我已经创建了lib和demo app来演示问题:https://github.com/4ntoine/Acra-breakpad
答案 0 :(得分:0)
google_breakpad::ExceptionHandler eh
需要在堆中初始化,而不是堆栈。