Comment puis-je exécuter valgrind avec une application Android?

J'ai installé valgrind pour Android et je peux confirmer qu'il fonctionne comme j'ai essayé d'exécuter ls avec lui, et ça marche bien.

Mais comment exécuter une application Android avec un composant natif, je voudrais déboguer? J'ai regardé cette question: comment commencer une application Android avec Valgrind mais je n'ai aucune idée de la façon de la suivre. Comment enveloppez-vous une application dans un script shell? Qu'est-ce que "envelopper". Suivi du nom du paquet supposé être?

  • Obtenir des coordonnées GPS plus rapidement sans internet, mais en utilisant un fournisseur de réseau et un GPS mobile
  • "La sélection ne peut pas être lancée et il n'y a pas de lancements récents" lorsque Eclipse for Android Project Dev
  • Convertissez un site Web en une application Android
  • Android - Boîte de dialogue personnalisée - Impossible d'obtenir du texte de EditText
  • Est-il correct d'ajouterToBackStack et de le remplacer dans une transaction fragmentée?
  • L'exécution a échoué pour la tâche ': application: transformClassesWithDexForDebug' lors de la mise en œuvre de la connexion Google pour Android
  • J'ai essayé de le faire avec com.matthewmitchell.wakeifyplus étant mon package de demande:

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

    Mais il dit "ne pouvait pas définir de propriété". Qu'est-ce que je suis supposé faire? Je ne trouve aucun guide étape par étape qui fonctionne. J'ai essayé ceci (je ne sais même pas ce que fait setprop):

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

    Avec / data / local / valgrind étant un script shell avec des autorisations d'exécution qui est:

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

    Mais lorsque je lance l'application avec:

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

    Valgrind ne se présente pas dans Logcat, même après l'avoir effacé.

  • Répétez-vous en mode imageable?
  • Obtenir des informations sur le produit comme le nom, le prix, etc. en utilisant le code à barres
  • Cette mise en œuvre de la politique Google LVL serait-elle raisonnablement sécurisée?
  • Comment faire un lanceur
  • Quelle est la différence entre ANR et crash dans Android?
  • Suppression de la marge du menu déroulant
  • One Solution collect form web for “Comment puis-je exécuter valgrind avec une application Android?”

    Vous obtenez l'erreur " ne pouvait pas définir de propriété " car VOUS NE POUVEZ PAS définir un nom de propriété d'une longueur supérieure à 31 , qui est le nombre maximum de caractères autorisés dans le nom de la propriété: https://stackoverflow.com/a/5068818/313113

    Essayez de réduire la longueur du nom du paquetage à moins de 31 caractères lorsque vous définissez la propriété avec la configuration de shell d'adb.
    Et utilisez un script bash pour tout simplement.
    Pour plus de détails, voir ma réponse ici: https://stackoverflow.com/a/19235439/313113

    coAndroid est un fan Android de Google, tout sur les téléphones Android, Android Wear, Android Dev et Android Games Apps.