2

アプリケーションがデバイスで実行されているときに、Android オープン ソースの dalvik ディレクトリ内で何が起こっているかを知りたいです。AOSP の dalvik 部分が libdvm.so にコンパイルされることを知っています。私は Android アプリケーションをデバッグしたくありませんが、アプリケーションの実行時に (インタープリターと JIT に関連して) すべてが開始される場所を知る必要があります。

アプリケーションがデバイスで実行されている間、その dex コードが解釈され、検出されたホット トレースが m/c コードに変換するために JIT コンパイラに渡されます。要件が混乱しないことを願っています。

ホストで gdbclient を使用し、デバイスで gdbserver を使用してみました。

  1. を実行可能ファイル/system/bin/dalvikvmとして指定します。しかし、AOSP の dalvikvm フォルダーの解析は、dalvik
    のコマンドライン実行部分だと思います。

  2. 次にlibdvm.so、実行可能ファイルとして提供しました。シンボルをロードしました。しかし、どこにブレークポイントを与える必要がありますか。

デバイスでアプリケーションを起動した後、プログラムが実行されていないと表示されます。

この種のデバッグを行った人はいますか? あなたの方法と提案で私を助けてください。

4

1 に答える 1