如何使android打印出崩溃的系统应用程序的核心转储?
作者:互联网
我正在美好的系统库世界中写一些东西,而libc崩溃了,我的库显然传递了错误的值.
有什么方法可以让Android为崩溃的应用程序生成核心转储,以便分解应用程序堆栈?
尤其是,如果有帮助,我会使system_server崩溃.
编辑:我的问题的要点是:当应用程序在类似libc的库中崩溃时,获取输出的逻辑删除将在libc中显示堆栈跟踪.如果我有完整的堆栈跟踪,则可以调试整个应用程序.
解决方法:
我假设您正在编写NDK(C/C++)代码?如果是这样,请检查您的logcat输出以获取堆栈跟踪.如果您具有相应的debug so文件,则可以通过堆栈跟踪工具(例如:http://code.google.com/p/android-ndk-stacktrace-analyzer/wiki/Usage)运行它.
logcat跟踪信息保存在Tombstones中,请参见此帖子:http://crazydaks.com/debugging-in-android-with-tombstones.html.
对于libc.so中的崩溃,您可以尝试对so运行arm-eabi-objdump和arm-eabi-addr2line,并比较地址以查看崩溃发生的位置.
标签:kernel,linux-kernel,android 来源: https://codeday.me/bug/20191208/2090057.html