Ich habe Valgrind für Android installiert und ich kann bestätigen, dass es funktioniert, als ich versuchte, ls damit zu laufen, und es funktioniert gut.Wie führe ich Valgrind mit einer Android App aus?
Aber wie führe ich eine Android-App mit einer nativen Komponente aus, die ich debuggen möchte? Ich schaute auf diese Frage: How to start an android app with valgrind, aber ich habe keine Ahnung, wie ich es befolgen soll. Wie verpacken Sie eine App in ein Shell-Skript? Was ist "Umbruch"? gefolgt von dem Paketnamen soll?
Ich habe versucht, dies zu tun mit com.matthewmitchell.wakeifyplus Paket meiner Anwendung zu sein:
setprop wrap.com.matthewmitchell.wakeifyplus "logwrapper /data/local/valgrind"
aber es sagt, „nicht-Eigenschaft könnte“. Was soll ich machen? Ich kann keine Schritt für Schritt Anleitung finden, die funktioniert. Ich tat dies versuchen (ich weiß nicht einmal, was setprop tut):
setprop com.matthewmitchell.wakeifyplus "logwrapper /data/local/valgrind"
mit/data/local/valgrind ein Shell-Skript ist mit Berechtigungen auszuführen, die ist:
#!/system/bin/sh
VGPARAMS='--error-limit=no'
export TMPDIR=/data/data/com.matthewmitchell.wakeifyplus
exec /data/local/Inst/bin/valgrind $VGPARAMS $*
Aber als ich Führen Sie die App mit:
am start -a android.intent.action.MAIN -n com.matthewmitchell.wakeifyplus/.MainActivity
Valgrind nicht in Logcat angezeigt, auch nach dem Löschen.
Vielen Dank. Ich werde mir das jetzt anschauen ... –
Es hat geklappt! Es ist sehr, sehr langsam, aber es funktioniert. –
und was passiert in den Fällen, in denen wir es auf einer Anwendung ausführen wollen, die nicht zu uns gehört? trotzdem zur Problemumgehung die 31 Zeichen Einschränkung – Paschalis