0

Eclipse デバッガーは、Android アプリケーションに対して引き続き機能します。これは、このデバッガーが実際にどのように実装されているのか疑問に思います。DVM と JVM 用に別々に実装されていますか、それともヒープとスタックの情報を取得できる共通のインターフェースはありますか? Android アプリケーションのヒープ スナップショットを取得するためのプログラム可能なインターフェイスを探しています。

4

1 に答える 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 に答える