2012-11-26 16 views
5

別のスレッドで実行されているサービスにブレークポイントを追加しようとしています。どこにブレークポイントを置いても、それらは常に無視されます。サービス中のブレークポイントが動作しない

logcatにLog.eが表示されているので、サービスが実行されていることを確認します。私のデバッグモードは、アプリケーションのメインスレッド内のブレークポイントとしても正しく使用されます。

何か不足していますか?デバッグモードは、別のスレッドのサービスではサポートされていませんか?

EclipseおよびAndroid SDKツールを最新のバージョンに更新しました。

デバイスでアプリケーションをテストしています。

+1

あなたは、エミュレータやデバイス上でアプリケーションを実行しています – Kai

+0

デバイス上で自分のコードをテストしています – Rynardt

+3

[link](http://www.helloandroid.com/tutorials/how-debug-service)を参照してください –

答えて

17

android.os.Debug.waitForDebugger()はこのトリックを行いました。デバッグするコード行の前にこれを追加します。例えば、プロセス属性:

<service android:name=".YourCoolService" 
      android:process="your.package.here"/> 
+2

警告 - これを実動コードに残さないでください。サービスを実行し、デバッガが本当に添付されていない場合、この行の後のコードは実行されません。 –

+0

'if(BuildConfig.DEBUG == true)'にラップします。 – Aggressor

1

あなたがアンドロイドを使用してマニフェストのサービスタグにパッケージ名を宣言していることを確認してください

関連する問題