android linker 开启日志

从Android O开始,可以为调试应用启用dlopen/dlsym和库加载错误的日志记录。通过设置与特定应用全名对应的属性来实现。在userdebug和eng构建中,可以通过系统属性全局启用追踪。重新编译ROM并修改代码以输出日志。

打开linker日志

Enable logging of dlopen/dlsym and library loading errors for apps (Available in Android O)

Starting with Android O it is possible to enable logging of dynamic
linker activity for debuggable apps by setting a property corresponding
to the fully-qualified name of the specific app:
针对单个应用

adb shell setprop debug.ld.app.com.example.myapp dlerror,dlopen,dlsym
adb logcat

Any combination of dlerror, dlopen, and dlsym can be used. There’s
no separate dlclose option: dlopen covers both loading and unloading
of libraries. Note also that dlerror doesn’t correspond to actual
calls of dlerror(3) but to any time the dynamic linker writes to its
internal error buffer, so you’ll see any errors the dynamic linker would
have reported, even if the code you’re debugging doesn’t actually call
dlerror(3) itself.

On userdebug and eng builds it is possible to enable tracing for the
whole system by using the debug.ld.all system property instead of
app-specific one. For example, to enable logging of all dlopen(3)
(and thus dclose(3)) calls, and all failures, but not dlsym(3) calls:

全局生效

adb shell setprop debug.ld.all dlerror,dlopen

重新编译ROM

init.environ.rc.in添加export LD_DEBUG 3,使得代码bionic/linker/linker_debug.h中的g_ld_debug_verbosity值变化,从而输出日志。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值