我使用eclipse和ndk-gdb来调试我的AndroidNDK程序,但是我发现了一个问题,ndk-gdb工具似乎没有在程序崩溃时“保存堆栈”的功能,我无法从ndk-gdb中找到详细的信息,它没有指出哪个函数,哪个类和哪一行,只是给出这样的信息:*程序从D:/android/ndk/samples/mango_d/obj/local/armeabi/libc.so*收到信号SIGSEGV,分段错误。0xafd0cda4 in memcpy ()
所以,我想知道当程序崩溃时,有没有办法看到更多的信息(程序调用的最后一句话或其他句子),谢谢。
发布于 2013-02-20 02:43:27
您可以尝试使用ndk-stack程序,请参考ndk中的文档docs/NDK-STACK.html
如果通过以下方式编译c源代码
ndk-build NDK_DEBUG=1 APP_OPTIM=debug您应该能够调用类似于下面这样的代码
adb -s %TARGET_INSTALL% logcat DEBUG:I | ndk-stack -sym ./obj/local/armeabi-v7a它将为您提供seg- trace的源代码和行栈跟踪。
https://stackoverflow.com/questions/7239232
复制相似问题