Erweiterte Optionen für das Debug von Java-Beans

Im Rahmen der normalen Entwicklung müssen Sie der VM, die von jeder Instanz des Visual Editor verwendet wird, keine Beachtung schenken. Erfahrene Benutzer können die Workbench jedoch so konfigurieren, dass alle Nachrichten, die an System.out oder System.err der VM gesendet werden, in die .log-Datei im Verzeichnis .metadata Ihres Arbeitsbereichs geschrieben werden.

Die virtuelle Maschine (VM), die zur Ausführung der Java-Beans verwendet wird, ist nicht die VM, in der die Workbench ausgeführt wird. Für jede Instanz des Visual Editor wird eine separate VM erstellt. Der Klassenpfad dieser VM ist so festgelegt, dass es sich um die Einträge im Java-Erstellungspfad für das Projekt handelt. Wenn der Java-Erstellungspfad geändert wird, während der Visual Editor offen ist, müssen alle offenen Editoren geschlossen und wieder geöffnet werden, um den aktualisierten Erstellungspfad widerzugeben.

Wenn die Workbench gestartet wird, kann sie mit der Option '-DEBUG' versehen werden, die auf eine Textdatei verweist:

-DEBUG file:/c:/temp/options.txt

Die Debugdatei enthält Einträge, die durch den Visual Editor gelesen werden. Wenn die Datei die folgende Zeile enthält, werden alle an System.out oder System.err gesendeten Nachrichten in der Konsole angezeigt:

org.eclipse.jem.proxy/remote/debug/vmtraceout=true

Neben der Konsolausgabe von der vom Visual Editor verwendeten VM können Sie diese im Debugmodus starten und ein fernes Debug durchführen. Dieses Szenario ist nicht optimiert und kann in zukünftigen Versionen des Visual Editors noch geändert werden. Es ist jedoch bereits dokumentiert, falls Sie ein Debug Ihrer Java-Beans während der Entwicklungszeit durchführen müssen. Um ein fernes Debug durchzuführen, benötigen Sie zwei aktive Workbenches: Eine mit den Java-Beans, bei denen Sie das Debug durchführen möchten und eine, die ein socket-basiertes fernes Debug durchführen kann. Die zweite Workbench kann auf derselben oder einer anderen Maschine ausgeführt werden. Um das Debug auf der VM des Visual Editors zu ermöglichen, muss die '-DEBUG'-Datei die folgende Zeile enthalten:

org.eclipse.jem.proxy/remote/debug/debugvm=true

Bei jedem Starten einer VM durch den Visual Editor werden Sie gefragt, ob sie im Debugmodus gestartet werden soll.

Der obige Dialog gilt dann, wenn die Klasse HelloFrame.java im Projekt 'Test' mit dem Visual Editor geöffnet wurde. Wenn Sie 'Ja' auswählen oder 'J' eingeben und die Eingabetaste in der Konsole drücken, wird die VM im Aussetzungsmodus gestartet, wobei -Xdebug eine Socketverbindung verwendet. Es wird ein freier Port zugeordnet. Dann wird Ihnen dessen Nummer mitgeteilt.

Der nächste Schritt ist die Zuordnung eines fernen Debuggers zu Port Nummer 7078. Die Instanz der Workbench, in der der Visual Editor ausgeführt wird, wird während der Zuordnung des fernen Debuggers ausgesetzt. Sie müssen daher den Debugger einer anderen Anwendung verwenden. Wenn es sich bei der anderen Anwendung um eine weitere Instanz der Workbench handelt, können Sie das ferne Debug starten, indem Sie die Menüoption Debug > Debug verwenden und eine neue Konfiguration für die ferne Java-Anwendung erstellen.

Geben Sie die Portnummer ein, die zuvor in 'stdout' geschrieben wurde, in diesem Fall 7078. Wenn sich der Debugger auf einer anderen Maschine befindet, müssen Sie im Feld Host die IP-Adresse der Maschine eingeben, auf der die Workbench ausgeführt wird, für die das Debug durchgeführt wird. Klicken Sie zum Starten des fernen Debuggers auf Debug, und geben Sie anschließend j in der 'stdin'-Konsole der Workbench ein, für die das Debug durchgeführt wird.

Zusätzlich zu der Aufforderung zum Debuggen der VM, die von jeder Instanz des Visual Editors verwendet wird, werden Nachrichten angezeigt, die Sie zum Debuggen des Projekts selbst auffordern:

Möchten Sie die ferne VM (Projekt (Test)-Beaninfo) im Debugmodus starten? (Geben Sie 'J' oder 'N' ein:

Dies bezieht sich auf die VM, die für die Introspektion verwendet wird und auf der java.beans.Introspector ausgeführt wird. Sie ist von der VM für den Visual Editor zu unterscheiden, da kein spezifischer Java-Quellendateinamen angegeben wird. Diese VM wird gestartet, wenn eine Bean-Info für eine Java-Bean innerhalb eines Projekts erforderlich ist und bleibt aktiv, solange das Projekt geöffnet ist. Beim Debug dieses Projekts können Sie alle Codes in Ihren BeanInfo-Klassen schrittweise durchgehen und analysieren, während die Java-Beans einer Introspektion unterzogen werden. Die Introspektion erfolgt einmal für jede Java-Bean-Klasse für jedes Projekt, in der sie verwendet wird. Das Ergebnis wird zwischengespeichert, um die Leistung zu unterstützen. Wenn Sie den Cache der BeanInfo-Informationen für ein Projekt zu einem beliebigen Zeitpunkt löschen müssen, können Sie das Projekt über dessen Kontextmenü Schließen und Öffnen.

Verwandte Konzepte
Java-Bean-Ausnahmebedingungen
Verwandte Tasks
Ausführen der visuellen Klasse als Java-Bean oder -Anwendung
Konfiguration von Optionen für die Ausführung einer Java-Bean oder -Anwendung
Debug einer visuellen Java-Bean oder -Anwendung
Test und Implementierung von Applets

(C) Copyright IBM Corporation 1999, 2004. Alle Rechte vorbehalten.