【发布时间】:2016-08-06 23:11:58
【问题描述】:
我试图调查我在 Android 6.0 上的本机内存使用情况,但我的应用在尝试 malloc 一些内存时不断崩溃。步骤如下:
我从 CM rom 下载了 libc_malloc_debug_leak.so 用于我的手机 (Nexus 5)
设置 libc.debug.malloc 1。
重启我的手机。
安装我的应用程序。
在像 4.4 这样的旧 android 设备上,这工作得很好,但是当我在 Android 6.0 上这样做时,我的应用程序不断崩溃。我不知道为什么会发生这种情况以及如何找到答案。有人可以帮忙吗?
顺便说一句,我用的是ndk-r9c,我知道最新的是r11,但是升级到r11需要做很多工作,我不确定这是不是这个原因,我会在寻找某人回答我的问题时尝试一下。转储的崩溃日志如下:
Stack frame #00 pc 001e7abe /data/app/com.myapp-1/lib/arm/libmylib_ol.so: Routine __gabixx::__default_terminate() at libgcc2.c:?
Stack frame #01 pc 001e7acf /data/app/com.myapp-1/lib/arm/libmylib_ol.so: Routine __gabixx::__terminate(void (*)()) at libgcc2.c:?
Stack frame #02 pc 001e7b2b /data/app/com.myapp-1/lib/arm/libmylib_ol.so: Routine std::terminate() at libgcc2.c:?
Stack frame #03 pc 001e729b /data/app/com.myapp-1/lib/arm/libmylib_ol.so: Routine __cxxabiv1::call_terminate(_Unwind_Control_Block*) at libgcc2.c:?
Stack frame #04 pc 001e73f7 /data/app/com.myapp-1/lib/arm/libmylib_ol.so: Routine __cxxabiv1::scanEHTable(__cxxabiv1::ScanResultInternal&, int, bool, _Unwind_Control_Block*, _Unwind_Context*) at libgcc2.c:?
Stack frame #05 pc 001e7921 /data/app/com.myapp-1/lib/arm/libmylib_ol.so: Routine __gxx_personality_v0 at libgcc2.c:?
Stack frame #06 pc 00008a03 /system/lib/libc_malloc_debug_leak.so (_Unwind_Backtrace+130)
Stack frame #07 pc 000060ef /system/lib/libc_malloc_debug_leak.so
Stack frame #08 pc 00006b69 /system/lib/libc_malloc_debug_leak.so (leak_malloc+84)
【问题讨论】:
标签: android debugging android-ndk malloc native-code