2009-07-23 6 views
16

Ich debugge einen Server-Prozess in Eclipse 3.4.1 ausgeführt. Es gibt 20 Threads oder so, aufwachen in verschiedenen Abständen nach dem Schlafen.Wie kann man andere Threads stoppen, die den Fokus beim Debuggen in Eclipse stehlen?

Ich setze einen Haltepunkt in einer Methode auf einem Thread, und Eclipse stoppt dort richtig. Der Thread wird in der Debug-Ansicht mit einem Stack-Trace erweitert, und ich kann die verschiedenen Schaltflächen zum Durchlaufen verwenden. Das ist alles was ich erwarte.

Mein Problem ist, dass es scheint, wenn ein anderer laufender Thread aufwacht, während ich durchtrete, stiehlt es den Fokus in der Debug-Ansicht. Mein unterbrochener Thread ist nicht mehr ausgewählt oder erweitert (er hat ein + daneben) und alle Schaltflächen sind deaktiviert. Ich muss auf den unterbrochenen Thread klicken, um mit dem Debuggen fortzufahren.

Hat jemand dies schon einmal gesehen und kennt keine Workarounds oder Einstellungen, die ich ändern könnte?

Antwort

4

Wenn das obige nicht hilft, können Sie immer alle Ihre Breakpoints deaktivieren, sobald Sie Debuggen, wo Sie sein möchten.

Im Haltepunkte Ansicht: Strg-A, klicken Sie rechts -> deaktivieren

0

Nicht sicher, ob dies funktioniert (habe keine Eclipse-Installation zur Hand, um zu bestätigen), aber es gibt eine Debug-Option, die Sie ausprobieren könnten.

Unter Run/Debug in den Einstellungen, gibt es eine Option genannt (so etwas wie) aktivieren Debug-Ansicht, wenn ein Breakpoint getroffen wird. Wenn Sie diese Option deaktivieren, springt Eclipse den Fokus nicht auf die Debug-Ansicht. Es kann auch verhindern, dass einzelne Threads den Fokus stehlen.

1

Könnten Sie die Option alle Themen an den Haltepunkt zu stoppen?

7

Sie könnten die gesamte Java VM nicht nur den ausführenden Thread anhalten, um die Fokusprobleme loszuwerden.

Wählen Sie einen Haltepunkt in der Haltepunktansicht und wählen Sie "Suspend VM" statt "Suspend Thread". Unter Voreinstellungen-> Java-> Debug können Sie "Suspend VM" als Standardoption festlegen.

3

Ich hatte das gleiche Problem beim Debuggen von Play! Framework 2-Anwendungen. Was scheinbar gelöst ist, ist das Deaktivieren von Java -> Monitore im Kontextmenü der Debug-Perspektive/Thread-Ansicht.

+0

Scheint der positive Effekt nicht dauern, ich bin zurück mit dem aufgehängten Thread Fokus verlieren :-( –

+0

Das gleiche hier, dauert für eine Weile (länger), bis etwas wieder herauskickt. – cklab

Verwandte Themen