デバイスがアプリを実行しているときに実行されているdalvikバイトコードのトレースを取得するにはどうすればよいですか(logcatのように)?
3 に答える
3
やりたいことをするための既存のツールはありませんが、あまり手間をかけずにそのようなツールを実装できる可能性があります。
一般的な考え方は、jdwpプロトコルを使用して、デバッガーとしてdalvikのvmに接続し、仮想マシンをシングルステップで実行して、各ステップ間の状態を検査し、命令を出力することです。...命令インデックスを取得できるはずです。または、JDWPを介した命令オフセット。
さらに、dexファイルを読み取り、JDWPから取得した命令インデックス/オフセットに基づいて、実行されている正確な命令を検索する必要があります。
AndBugを使用して上記のソリューションの最初の部分を実装してから、dexlibを使用してdexファイルにアクセスし、命令を取得できるはずです。
于 2012-11-21T19:00:37.467 に答える
0
あなたはチェックアウトしたいかもしれませんtraceview
于 2012-11-21T15:16:13.833 に答える
0
バイトコードを話さないようにメソッドをトレースするには遅すぎます。アプリが最善の方法を実行していることを知りたい場合は、最初にメソッドをトレースしてから、その中のバイトコードをトレースします。
于 2017-05-11T04:17:22.473 に答える