una saber publicidad programas programar programa para moviles ibuildapp gratis desde descargar crear como cero app aplicaciones android android-ndk valgrind gdbserver

saber - programa para crear aplicaciones android



Cómo iniciar una aplicación de Android con valgrind (3)

Estuve buscando la última semana tratando de encontrar una respuesta a esta pregunta.

¿Cómo inicio una aplicación de Android con valgrind? Sé que puedo iniciar una aplicación con el comando ''am'', pero se inicia la aplicación y se cierra.

Estoy escribiendo una aplicación que usa el NDK para el código C nativo, y necesito verificar si hay algún error de memoria.

Editar:

Aprendí un poco más. Puede "ajustar" una aplicación con un script de shell.

Aquí está el script de shell que estoy usando:

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

Y aquí está setprop:

adb shell setprop wrap.com.starlon.froyvisuals "logwrapper valgrind"

Y así es como inicio la aplicación:

adb shell am start -n com.starlon.froyvisuals/.FroyVisuals

No creo que esto sea correcto, porque no estoy seguro de dónde encaja el script de shell y no veo nada en Logcat. ¿Algún consejo?

Edit2: Oh, el script de shell se indica con el comando "setprop" arriba. Asi que

adb shell setprop wrap.com.starlon.froyvisuals "logwrapper /data/local/val.sh"

Todavía no veo nada en Logcat.


Encontré este problema también. En mi situación, edito el "val.sh" en windows y adb lo presiono al emulador, pero el script del shell no se pudo ejecutar correctamente. Luego uso un echo " * "> val.sh style para hacer el "val.sh" y funciona bien.

Por lo tanto, primero debe asegurarse de que "val.sh" se pueda interpretar correctamente.


Puede intentar borrar el logcat primero

prompt# adb logcat -c prompt# adb logcat

Debería poder ver los registros entrando una vez que haya activado su aplicación.

am start -a android.intent.action.MAIN -n com.example.hellojni/.HelloJni

Tuve problemas con mi script de shell y lo usé en su lugar.

adb shell setprop wrap.com.example.hellojni "logwrapper /data/local/Inst/bin/valgrind"

Debería poder pasar el parámetro justo después de valgrind


sí, pero deberías usar

adb shell setprop wrap.com.example.hellojni "logwrapper ./data/local/Inst/bin/valgrind"
/ / ---- para shell (.) es importante!

también si desea usar alguna configuración de la herramienta valgrind - use esto:

adb shell setprop wrap.com.example.hellojni "logwrapper ./data/local/Inst/bin/valgrind --tool = macizo (... configure macizo atc ...)"