Valgrind Android错误日志包装器

Valgrind Android错误日志包装器,android,valgrind,root,Android,Valgrind,Root,因为我在设置gcc优化时有错误,所以我想精确地查看我的android应用程序的内存。为此,我正在尝试运行valgrind 我已经通过termux安装了valgrind,因为它提供了包(不需要编译)。但错误会更快 我有这个剧本: #!/system/bin/sh echo "in the shell script" touch /sdcard/ok.txt VGPARAMS='--error-limit=no' export TMPDIR=/data/data/com.gaulois94 exec

因为我在设置gcc优化时有错误,所以我想精确地查看我的android应用程序的内存。为此,我正在尝试运行valgrind

我已经通过termux安装了valgrind,因为它提供了包(不需要编译)。但错误会更快

我有这个剧本:

#!/system/bin/sh
echo "in the shell script"
touch /sdcard/ok.txt
VGPARAMS='--error-limit=no'
export TMPDIR=/data/data/com.gaulois94
exec /data/data/com.termux/files/usr/bin/valgrind $VGPARAMS $*
我这样做:

adb shell
su
chmod 777 /data/local/valgrind.sh
setenforce 0
setprop wrap.com.gaulois94 "logwrapper /data/local/valgrind.sh"
但在运行应用程序时,我的平板电脑(NVIDIA Shield Nougat)崩溃并重新启动。。。回声和触摸甚至还没有被执行

以下是am start的错误:

    android.os.DeadObjectException
    at android.os.BinderProxy.transactNative(Native Method)
    at android.os.BinderProxy.transact(Binder.java:615)
    at android.app.ActivityManagerProxy.startActivityAsUser(ActivityManagerNative.java:3121)
    at com.android.commands.am.Am.runStart(Am.java:635)
    at com.android.commands.am.Am.onRun(Am.java:388)
    at com.android.internal.os.BaseCommand.run(BaseCommand.java:51)
    at com.android.commands.am.Am.main(Am.java:121)
    at com.android.internal.os.RuntimeInit.nativeFinishInit(Native Method)
    at com.android.internal.os.RuntimeInit.main(RuntimeInit.java:262)
我怎样才能运行valgrind?非常感谢。(这件事让我抓狂xd)


ps:不知道为什么,我不能在短信乞讨时打招呼。。。我把它放在这里:你好

虽然我可以(几小时后)在安卓x86仿真器image system 22(安卓5.0)上启动valgrind,但最终我没有成功地在我的平板电脑上启动valgrind

由于图形问题(我使用的是GLES2.0),无法在ARM上运行,而genymotion在看到logwrapper时只是僵住了


如果有人能解决我的平板电脑问题,那就太好了

为时已晚,但这可能对某人有所帮助

  • 在android设备和setprop wrap上。“”方法无法在Android 8.0以下运行。 因此,我建议使用8.0或更高版本。 事实上,我不能100%确定。我使用8.0解决了死对象异常

  • [不管怎样]如果您在windows中工作,您必须关心回车字符\x。 确保仅对脚本中的新行使用换行字符


  • 另一个错误:从系统uid 0 pkg null发送不受保护的广播eu.chainfire.supersu.NativeAccess