2013-09-25 9 views
11

アンドロイド用のvalgrindをインストールしましたが、lsを実行しようとしたときに動作していることが確認でき、正常に動作します。Androidアプリでvalgrindを実行するにはどうすればよいですか?

しかし、デバッグしたいネイティブコンポーネントでアンドロイドアプリを実行するにはどうすればよいですか?私はこの質問を見た:How to start an android app with valgrindしかし、私はそれに従う方法は考えていない。あなたはどのようにアプリケーションをシェルスクリプトでラップするのですか? 「ラップ」とは何ですか?それに続くパッケージ名は?

私はcom.matthewmitchell.wakeifyplusが私のアプリケーションパッケージであることでこれをやってみました:

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

が、それは「プロパティを設定することができませんでした」と言います。私はどうしたらいいですか?私は動作するステップガイドで任意のステップを見つけることができません。

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

しかし、ときに私は:/データ/ローカル/ valgrindのある実行権限を持つシェルスクリプトされた状態で

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

:私は(私もに、SetPropが何をするか分からない)これを試していました

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

valgrindは、消去後もlogcatに表示されません。

答えて

7

あなたがエラーあなたが31以上の長さ、とプロパティ名を設定することはできませんので、「はプロパティを設定できませんでした」を取得するプロパティ名の数字の最大許容文字数:https://stackoverflow.com/a/5068818/313113

てみてくださいadbシェルsetpropを使用してプロパティーを設定すると、パッケージ名の長さを31文字以下に減らすことができます。
そして、単純に物事にbashスクリプトを使用してください。
詳細はこちらをご覧ください:https://stackoverflow.com/a/19235439/313113

+0

ありがとうございます。私は今これを見ます... –

+0

それは働いた!非常に遅いですが動作します。 –

+0

と私たちに属していないアプリケーションで実行したい場合はどうなりますか?とにかく31文字の制限を回避するには – Paschalis

関連する問題