1.0 Einführung
2.0 Bekannte Probleme
2.1 Web-Entwicklungsumgebung
2.2 Debug von WebSphere Application Server
2.3 JavaScript-Debugger
2.4 Tools für Test und Implementierung (Servertools)
2.5 Java Development Tools (JDT) - Debugger
2.6 Einschränkungen bei Landessprachen
2.7 SQLJ - Debugger
Die Debugger in WebSphere Studio bieten die Tools, die zum Debug von Webanwendungen, serverseitigem JavaScript, Java, SQLJ, gespeicherten SQL-Prozeduren und Compilersprachen benötigt werden. In dieser Readme-Datei werden die bekannten Probleme und Einschränkungen hinsichtlich der WebSphere Studio-Debugger beschrieben.
JSP-Debug:
- Für JSP-Dateien kann ein Debug ausgeführt werden, wenn sie auf einem WebSphere Application Server getestet werden. Wenn Sie auf einem Tomcat-Server testen, stoppt der Debugger nicht bei JSP-Unterbrechungspunkten.
- Unterbrechungspunkte können in JSP-Dateien innerhalb der folgenden Tags gesetzt werden:
- JSP-Scriptlets mit dem Format: <% %>
- JSP-Ausdrücke mit dem Format: <%= %>
- JSP-Deklarationen mit dem Format: <%! %>
- JSP-Tags 'jsp:useBean', 'jsp:getProperty' und 'jsp:setProperty'
- Angepasste Tags
- Unterbrechungspunkte können für die folgenden Tag-Gruppen nicht gesetzt werden:
- HTML-Code
- JSP-Anweisungen
- Alle übrigen JSP-Standardtags ('jsp:include', 'jsp:forward' usw.)
- Wenn Sie einen Arbeitsbereich von einer älteren Version von WebSphere Studio zu dieser Version migrieren, ist es erforderlich, die JSP-Unterbrechungspunkte zu löschen und neu zu erstellen.
- Step-by-Step-Debugmodus für schrittweises Debug schlägt für EJB-Home-Methoden fehl: Wenn Sie den Debug-Adapter von WebSphere Application Server zum Starten einer Debugsitzung verwenden, stoppt der Step-by-Step-Debugmodus bei EJB-Home-Methoden nicht. Verwenden Sie Unterbrechungspunkte, wenn Sie diese Methoden debuggen wollen.
- Step-Return-Operation von Java zurück zu JavaScript wird nicht unterstützt: Verwenden Sie Unterbrechungspunkte, wenn Sie von Java zu Ihrem JavaScript-Code zurückkehren möchten.
- Debug von JSPs:
- Das schrittweise Debug funktioniert nicht bei JSPs, die keinen ausführbaren Code enthalten.
- Falls Sie den Debugadapter von WebSphere Application Server verwenden, um eine Debugsitzung zu starten, können JSP-Variablen und -Ausdrücke weder untersucht noch angezeigt werden.
- Die Ausführung bis zu einer bestimmten Zeile wird bei JSPs nicht unterstützt.
- Möglicherweise dauert das Setzen von JSP-Unterbrechungspunkten lange. Bitte rechnen Sie mit zusätzlichem Zeitbedarf für die Initialisierung des Debuggers, falls Sie viele JSP-Unterbrechungspunkte verwenden.
- Unterbrechungspunkte für statische Variablen in JSP-Deklarationsblöcken funktionieren nicht und verursachen gegebenenfalls andere Fehler mit Unterbrechungspunkten.
- Unterbrechungspunkteigenschaften (z. B. Trefferzählung, Kondition, ausgewählter Thread und Zurückstellungsrichtlinie für VM) werden für JSP-Unterbrechungspunkte nicht unterstützt.
- Keine Java-Unterbrechungspunkte im Debugger-Editor setzen: Java-Unterbrechungspunkte müssen im Java-Editor gesetzt werden. Der Editor des Debuggers darf hierzu nicht verwendet werden.
- Verwenden des Elements 'Quellendatei ändern' aus dem Kontextmenü der Debugsicht: Wenn Sie die Quellendatei ändern, die durch Verwendung des Kontextmenüelements Quellendatei ändern im Stack-Frame angezeigt wird, lässt sich die neue Datei möglicherweise nicht im Editor öffnen. Um dieses Problem zu umgehen, klicken Sie auf einen anderen Stack-Frame, und klicken Sie dann erneut auf den vorherigen Stack-Frame. Die neue Datei sollte sich dann im Editor öffnen lassen.
- Debug-Konsole: Die Hyperlinks zum Öffnen von Typen in der Debug-Konsole funktionieren nicht.
- Stack-Frame-Bezeichnungen nach Hot-Swap: Es ist möglich, dass nach dem Ausführen einer Hot-Swap-Ersetzung (Hot Swap Replace) manche Stack-Frames Bezeichnungen der folgenden Art aufweisen:
<Unbekannter Empfangstyp>(<unbekannter Deklarationstyp>).<unbekannter Methodenname>(<unbekannte Argumente>) Zeile: nicht verfügbar <unbekannte Zeilennummer>In diesem Fall erhalten Sie die korrekten Bezeichnungen, wenn Sie zu einer anderen Perspektive umschalten und anschließend wieder zur Perspektive 'Debug' zurückwechseln.
- Ein JavaScript-Objekt steht erst dann zur Prüfung zur Verfügung, wenn der Konstruktor vollständig ausgeführt wurde: Sie können zwar die Ausführung des Konstruktors mit Hilfe von Step-Aktionen durchlaufen, aber die Untersuchung des erstellten Objekts ist erst dann möglich, nachdem der Konstruktor vollständig ausgeführt und beendet wurde.
- Step-Aktionen und Stack-Frames unterhalb des Stack-Frames der höchsten Ebene: Step-over- und Step-return-Aktionen werden bei JavaScript für andere Stack-Frames als den Stack-Frame der höchsten Ebene nicht unterstützt.
- JSP-Element include: Das Debug von JavaScript in einem JSP-Element include wird nicht unterstützt.
- Rekursive Aktionen mit einer Step-out-Aktion verlassen: Benutzer, die ein Debug von rekursiven JavaScript-Funktionen ausführen, werden feststellen, dass sie beim Verlassen einer rekursiven Funktion mit einer Step-out-Aktion wieder zur höchsten Ausführungsebene zurückkehren.
- Erweitern Sie keine Objekte, die writer- oder inputStream-Variablen enthalten: Beim Überprüfen von JavaScript-Objekten werden Benutzer dazu angehalten, Objekte mit den Variablen writer oder inputStream nicht zu erweitern. Dies würde sonst dazu führen, dass der Debugger nicht reagiert.
- Testumgebung JavaScript-Debug funktioniert nicht bei Verwendung der WebSphere Version 5.0-Testumgebung. Dieser Fehler wurde unter APAR #PQ73036 behoben.
Beachten Sie folgende Punkte, wenn Sie einen Server im Debug-Modus ausführen wollen:
- Der Start und die Ausführung der Server ist möglicherweise langsamer als in einem anderen (nicht für das Debug gedachten) Modus.
- WebSphere Application Server braucht wesentlich länger zum Kompilieren von JSP-Seiten.
Informationen zu den bekannten Problemen und Einschränkungen in Verbindung mit den Java-Entwicklungstools enthalten die Release-Informationen zu den Java Development Tools (JDT) und der Workbench (IDE). Diese können über eine Verknüpfung in der Readme-Hauptdatei des Produkts aufgerufen werden, die zusammen mit diesem Produkt installiert wurde.
- BiDi-Einschränkung (Bidirektional): Sie können den Debugger-Editor nicht verwenden, wenn Sie JSPs debuggen, die in einer anderen als der nativen Codepage codiert wurden.
- Compilersprachen-Debugger:
- Der Compilersprachen-Debugger unterstützt auf Einzelbytesystemen (SBCS) nicht Anwendungsnamen bzw. das Übergeben von Programmparametern, die Zeichen über 0x7F enthalten.
- Die Verwendung von landessprachlichen (typographischen) Zeichen in den Namen und Argumenten von zu debuggendem Code wird nicht unterstützt.
Beim Ausführen von Hot-Swap während des Debug mit der J9 JVM wird ein Dialogfenster mit dem Inhalt Veraltete Methoden im Stack angezeigt, falls sich SQLJ-Methoden im Stack für Aufrufe befinden. Ist der Hot-Swap für eien SQLJ-Klasse erfolgt, wird die Klasse in der JVM neu geladen, aber der neue Code wird erst dann ausgeführt, wenn eine Methode in der Klasse aufgerufen wird.
Wenn Sie einen Hot-Swap für eine SQLJ-Klasse ausführen, funktionieren möglicherweise während der aktuellen Debugsitzung die SQLJ-Unterbrechungspunkte für diese Klasse nicht.
(C) Copyright IBM Corporation 2000, 2003. All Rights Reserved. (C) Copyright IBM Deutschland GmbH 2000, 2003. Alle Rechte vorbehalten.