Android NDK - 使用错误的callstack调试随机崩溃

时间:2013-05-23 02:36:34

标签: android android-ndk

我的Android原生应用程序随机崩溃但经常崩溃,我无法从ndk-gdb中获取足够的信息。这是崩溃后的消息:

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 19983]
0x4012c6ac in memcpy () from /Users/Andreas/dev/android/obj/local/armeabi-v7a/libc.so

bt返回一个无法使用的callstack:

#0  0x4012c6ac in memcpy () from /Users/Andreas/dev/android/obj/local/armeabi-v7a/libc.so
#1  0x67337388 in ?? ()
Cannot access memory at address 0x7
#2  0x67337388 in ?? ()
Cannot access memory at address 0x7
Backtrace stopped: previous frame identical to this frame (corrupt stack?)

我正在使用NDK-r8e

我已经检查了我的程序中memcpy()的所有用法,他们对此不负责任(通过让他们调用另一个具有不同名称的类似memcpy的函数进行验证,并且仍然会在上面发生严重崩溃签名)。

任何想法如何获得更有用的调用堆栈,或进一步调试这个?如果这是内存覆盖,NDK是否提供任何内存检查功能?

0 个答案:

没有答案