我正在尝试为我的android应用程序启用malloc调试,并且为了我的生命,我无法使其正常工作。
我的wrap.sh
脚本每个都包含以下内容:
#!/system/bin/sh
LIBC_DEBUG_MALLOC_OPTIONS="free-track verbose"
logwrapper "$@"
我已经建立了以下目录结构:
当我为“启用了malloc调试”而使用grep logcat时,我一无所获。
如果我将wrap.sh
脚本的内容更改为此
#!/system/bin/sh
LIBC_DEBUG_MALLOC_OPTIONS=free-track logwrapper "$@"
这正是the documentation for the wrap shell script所说要添加的内容(尽管对我来说,这似乎是无效的shell脚本语法),我可以看到“已启用malloc调试”日志消息,但我的应用程序冻结在初始屏幕上,并且从未实际启动。
我不确定发生了什么,是否会喜欢任何类型的输入。
其他说明:
答案 0 :(得分:0)
用于在Android上运行可执行二进制文件。我认为您正在通过JNI调用运行Java应用程序,但是这种技巧不适用于您。在应用启动时,您必须通过JAVA设置这些环境变量。
尝试查看OS.setenv()
-https://developer.android.com/reference/android/system/Os.html。我希望可以在加载JNI库之前通过Java设置这些环境变量,或者希望该库在每次调用时都读取这些环境变量,而不仅是init。