私のアプリケーションでは、アクティビティが別のプロセスとして実行されるサービスを開始します。アクティビティとサービスをデバッグしたいのですが、サービスのブレークポイントでデバッガが停止しませんか?
手伝ってくれてありがとう。
私のアプリケーションでは、アクティビティが別のプロセスとして実行されるサービスを開始します。アクティビティとサービスをデバッグしたいのですが、サービスのブレークポイントでデバッガが停止しませんか?
手伝ってくれてありがとう。
ここで他の回答について詳しく説明するために、一時的にandroid.os.Debug.waitForDebugger();
二次プロセスのコードを挿入して、これを簡単にすることができます。
次に、DDMS または IntelliJ (または使用しているもの) を介して、デバッガーをプロセスにアタッチします。
別のプロセスでデバッグを有効にする必要があります。
DDMS パースペクティブを開きます (デバッグまたは Java ではなく)。DDMS->Devices で、サービスのプロセスを選択し、デバッグ ボタン (小さな緑色のバグ ボタン) をクリックします。プロセスの近くにデバッグ アイコンが表示され、サービスでブレークポイントを使用できるようになります。
デバッグを有効にする前に、リモート プロセスが開始するまで待つ必要があることに注意してください。そのため、起動時に別のプロセスが確実に開始されるようにするか、リモート サービスを開始する行の直後にメイン プロセスにブレークポイントを設定することができます。
デバッグを有効にする前に:
デバッグを有効にした後:
(もちろん、一時的にサービスを非リモートにすることもできますが、それが実用的でない例がありました)
一時的に別工程にならないようにします。
@コモンズウェア