11

私のアプリケーションでは、アクティビティが別のプロセスとして実行されるサービスを開始します。アクティビティとサービスをデバッグしたいのですが、サービスのブレークポイントでデバッガが停止しませんか?

手伝ってくれてありがとう。

4

3 に答える 3

11

ここで他の回答について詳しく説明するために、一時的にandroid.os.Debug.waitForDebugger();二次プロセスのコードを挿入して、これを簡単にすることができます。

次に、DDMS または IntelliJ (または使用しているもの) を介して、デバッガーをプロセスにアタッチします。

于 2013-09-11T00:31:06.690 に答える
6

別のプロセスでデバッグを有効にする必要があります。

DDMS パースペクティブを開きます (デバッグまたは Java ではなく)。DDMS->Devices で、サービスのプロセスを選択し、デバッグ ボタン (小さな緑色のバグ ボタン) をクリックします。プロセスの近くにデバッグ アイコンが表示され、サービスでブレークポイントを使用できるようになります。

デバッグを有効にする前に、リモート プロセスが開始するまで待つ必要があることに注意してください。そのため、起動時に別のプロセスが確実に開始されるようにするか、リモート サービスを開始する行の直後にメイン プロセスにブレークポイントを設定することができます。

デバッグを有効にする前に:

ここに画像の説明を入力

デバッグを有効にした後:

ここに画像の説明を入力

(もちろん、一時的にサービスを非リモートにすることもできますが、それが実用的でない例がありました)

于 2013-01-27T18:06:20.910 に答える
5

一時的に別工程にならないようにします。

@コモンズウェア

于 2012-06-24T18:22:46.947 に答える