我已将一些本机代码移植到 android 并在运行时出现错误
A/libc(7857): Fatal signal 11 (SIGSEGV) at 0x00000000 (code=1)
但我无法找出我的代码的哪一部分引发了这个错误
如何在 android ndk 中显示这些错误信息
我已将一些本机代码移植到 android 并在运行时出现错误
A/libc(7857): Fatal signal 11 (SIGSEGV) at 0x00000000 (code=1)
但我无法找出我的代码的哪一部分引发了这个错误
如何在 android ndk 中显示这些错误信息
Android-NDK 中的 ndk-stack 是在 logcat 输出上运行的工具,如果幸运的话,这可能会提供完整的堆栈跟踪
ndk-stack -sym <path> [-dump <path>]
-sym Contains full path to the root directory for symbols.
-dump Contains full path to the file containing the crash dump.
This is an optional parameter. If ommited, ndk-stack will
read input data from stdin
See docs/NDK-STACK.html in your NDK installation tree for more details.
所以你可能想跑
logcat | ndk-stack -sym <the symbol file from your project>
如上所述,使用 ndk-stack。可以在这里找到一个很好的指南。