gpt4 book ai didi

android - 如何使用 Android 应用程序运行 valgrind?

转载 作者:塔克拉玛干 更新时间:2023-11-01 21:43:51 29 4
gpt4 key购买 nike

我已经为 android 安装了 valgrind,我可以确认它正在运行,因为我尝试用它运行 ls,它运行良好。

但是我该如何执行带有我想要调试的 native 组件的 Android 应用程序呢?我看了这个问题:How to start an android app with valgrind但我不知道如何遵循它。如何将应用程序包装在 shell 脚本中?什么是“包裹”。后跟包名应该是什么?

我尝试将 com.matthewmitchell.wakeifyplus 作为我的应用程序包:

setprop wrap.com.matthewmitchell.wakeifyplus "logwrapper /data/local/valgrind" 

但它说“无法设置属性”。我应该做些什么?我找不到任何有效的分步指南。我试过这个(我什至不知道 setprop 是做什么的):

setprop com.matthewmitchell.wakeifyplus "logwrapper /data/local/valgrind" 

/data/local/valgrind 是一个具有执行权限的 shell 脚本,它是:

#!/system/bin/sh
VGPARAMS='--error-limit=no'
export TMPDIR=/data/data/com.matthewmitchell.wakeifyplus
exec /data/local/Inst/bin/valgrind $VGPARAMS $*

但是当我运行应用程序时:

am start -a android.intent.action.MAIN -n com.matthewmitchell.wakeifyplus/.MainActivity 

valgrind 不会出现在 logcat 中,即使在清除它之后也是如此。

最佳答案

您收到错误“无法设置属性”,因为您不能设置长度大于 31 的属性名称,这是允许的最大字符数属性(property)名称:https://stackoverflow.com/a/5068818/313113

使用 adb shell setprop 设置属性时,尽量将包名称长度减少到小于或等于 31 个字符。
并使用 bash 脚本来简化事情。
有关详细信息,请在此处查看我的回答:https://stackoverflow.com/a/19235439/313113

关于android - 如何使用 Android 应用程序运行 valgrind?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19011887/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com