Eclipse デバッガーは、Android アプリケーションに対して引き続き機能します。これは、このデバッガーが実際にどのように実装されているのか疑問に思います。DVM と JVM 用に別々に実装されていますか、それともヒープとスタックの情報を取得できる共通のインターフェースはありますか? Android アプリケーションのヒープ スナップショットを取得するためのプログラム可能なインターフェイスを探しています。
質問する
844 次
1 に答える
0
Eclipse は「Java Platform Developer Architecture」(JPDA) と呼ばれるデバッグ アーキテクチャをサポートし、その一部として JDWP (Java Debug Wire Protocol) のようなリモート デバッグ インフラストラクチャをサポートします。詳細については、 http://www.ibm.com/developerworks/java/library/os-eclipse-javadebug/index.htmlを参照してください。
Android は JDWP (Android のデバッグで開始されたアプリには、特定のポートでリッスンするインスタンス化された JDWP スレッドがあります) プロトコルを実装しており、それが Eclipse が Android アプリのデバッグに使用できるものです。
JDWPプロトコルを使用してヒープダンプを取得できるかどうかはわかりませんが、「am」コマンドを使用して「プログラムで」ヒープダンプをトリガーできます。
adb シェルからコマンドを使用する例を次に示します。
$ adbシェル午前
または、アプリが「am」を実行して、ヒープダンプをトリガーする可能性があります。
お役に立てれば。
于 2013-01-14T05:47:13.403 に答える