Valgrind Android错误记录器



由于设置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开始的错误:

    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:不知道为什么,我不能在文本开始时打个招呼...好吧,我把它放在这里:你好!

好吧,最后我没有成功地在平板电脑上启动valgrind,尽管我(几个小时后(可以在Android X86模拟器上启动Valgrind,Image System 22(Android 5.0(。<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<</p>

由于图形问题(我使用GLES2.0(而无法手臂,并且在看到LogWrapper时冻结。

如果有人对我的平板电脑有解决方案,尽管这将很棒!

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

  1. 在Android设备和SetProp Wrap。&lt;>"方法无法在Android 8.0以下运行。因此,我建议使用8.0或更高。实际上,我不确定100%。我通过使用8.0解决了死对象例外。

  2. [无论如何]如果您在Windows中工作,则必须关心Carriagar Return Char X。确保仅在脚本中使用新行。

最新更新