0

我已将一些本机代码移植到 android 并在运行时出现错误

 A/libc(7857): Fatal signal 11 (SIGSEGV) at 0x00000000 (code=1)

但我无法找出我的代码的哪一部分引发了这个错误

如何在 android ndk 中显示这些错误信息

4

2 回答 2

1

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>
于 2013-04-19T14:57:45.943 回答
1

如上所述,使用 ndk-stack。可以在这里找到一个很好的指南。

于 2013-04-19T15:01:19.927 回答