2012-11-26 5 views
5

Ich versuche, einen Haltepunkt zu einem Dienst hinzuzufügen, der auf einem separaten Thread ausgeführt wird. Egal wo ich den Haltepunkt im Service platziere, sie werden immer ignoriert.Haltepunkt im Dienst funktioniert nicht

Ich bin sicher, dass der Dienst ausgeführt wird, wie ich die Log.e in der Logcat anzeigen. Mein Debug-Modus wird auch korrekt verwendet, da jeder Haltepunkt im Haupt-Thread der App funktioniert.

Fehle ich etwas? Wird der Debug-Modus für Dienste in einem separaten Thread nicht unterstützt?

Ich habe gerade Eclipse und Android SDK Tools auf die neuesten Versionen aktualisiert.

Ich teste meine Anwendung auf einem Gerät.

+1

Sind Sie Ausführen der Anwendung im Emulator oder auf dem Gerät? – Kai

+0

Ich teste meinen Code auf einem Gerät – Rynardt

+3

Schauen Sie in diesen [link] (http://www.helloandroid.com/tutorials/how-debug-service) –

Antwort

17

Die android.os.Debug.waitForDebugger() hat den Trick gemacht. Fügen Sie das vor der Codezeile hinzu, die Sie debuggen möchten.

+2

Warnung - Lassen Sie dies nicht im Produktionscode. Wenn Sie Ihren Dienst ausführen und ein Debugger wirklich nicht angefügt ist, wird kein Code nach dieser Zeile ausgeführt. –

+0

Wickeln Sie es in eine 'if (BuildConfig.DEBUG == true)' – Aggressor

1

Stellen Sie sicher, dass Sie den Paketnamen in der Service-Tag im Manifest mit Android erklären: process Attribut, zum Beispiel:

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