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 SQL - Gespeicherte Prozeduren - Debugger
2.5 Tools für Test und Implementierung (Servertools)
2.6 Java Development Tools (JDT) - Debugger
2.7 Compilersprachen-Debugger
2.8 Einschränkungen bei Landessprachen
2.9 SQLJ - Debugger
2.10 Active Script-Debug
Die Debugger in WebSphere Studio bieten die Tools, die zum Debug von Webanwendungen, serverseitigem JavaScript, Active Script, 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.
- Das Importieren oder Löschen einer Datenbank in der Datendefinitionssicht kann zum Verlust von gesetzten Unterbrechungspunkten führen: Wenn Sie ein Debug einer gespeicherten SQL-Prozedur ausführen, bevor Sie die Datenbank in einen Ordner in der Datendefinitionssicht importieren, und die Datenbank anschließend importieren, gehen alle erstellten Zeilenunterbrechungspunkte verloren. Nach dem Import der Datenbank verwendet der Debugger diesen Ordner, um die Quelle anzuzeigen. Wenn Sie die importierten Datenbankinformationen löschen, gehen beim nächsten Versuch, ein Debug der gespeicherten SQL-Prozedur auszuführen, die Unterbrechungspunktinformationen ebenfalls verloren. Hierdurch werden nicht die Unterbrechungspunkte wieder hergestellt, die beim ersten Import der Datenbank verloren gingen.
Zur Vermeidung dieses Problems empfiehlt es sich, die Datenbank zu importieren, bevor Sie ein Debug einer gespeicherten Prozedur ausführen.
- Debug von gespeicherten Java-Prozeduren wird nicht unterstützt: Der Editor ermöglicht Ihnen das Hinzufügen von Unterbrechungspunkten zum Quellcode einer gespeicherten Java-Prozedur. Diese Unterbrechungspunkte werden jedoch ignoriert, weil das Debug einer gespeicherten Java-Prozedur momentan noch nicht unterstützt wird.
- Begrenzte Namen für gespeicherte Prozeduren: Der Debugger für gespeicherte SQL-Prozeduren bietet eingeschränkte Unterstützung für gespeicherte Prozeduren mit begrenzten Schema- oder Prozedurnamen. Derartige Prozeduren müssen vom Startkonfigurationsdialog gestartet werden, nicht vom Kontextmenü in der Sicht 'Datendefinition'.
- Unterstützung mehrerer aktiver und gleichzeitig geöffneter Sitzungen des Debuggers für gespeicherte SQL-Prozeduren: In Version 5.0 dieses Produkts war es nicht möglich, zur gleichen Zeit mehr als eine aktive Sitzung des Debuggers für gespeicherte SQL-Prozeduren zu öffnen. Diese Einschränkung gilt ab einschließlich Version 5.0.1 sowie den späteren Versionen dieses Produkts nicht mehr.
- Gespeicherte Prozeduren mit 'FOR BIT DATA'-Argumenten: Für gespeicherte Prozeduren, die Argumente mit dem Attribut 'FOR BIT DATA' haben, kann kein Debug mit dem WebSphere Studio-Debugger für gespeicherte SQL-Prozeduren ausgeführt werden.
- Die im Early Availability-Produkt erstellte Startkonfiguration wird möglicherweise im vorliegenden Produkt nicht erkannt: Wenn Sie die Early Availability-Version dieses Produkts installiert und damit eine Startkonfiguration für den Debugger für gespeicherte Prozeduren erstellt haben, werden die Startkonfigurationseinstellungen möglicherweise nicht erkannt, wenn der Debugger mit der aktuellen Version dieses Produkts verwendet wird. Startkonfigurationseinstellungen, die in der Early Availability-Version gespeichert wurden, springen beim Öffnen in der aktuellen Version dieses Produkts möglicherweise auf die Standardwerte zurück.
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.
- Fehler 'DLL wurde nicht gefunden': Wenn das Starten einer kompilierten Debugsitzung zu der Windows-Nachricht 'DLL wurde nicht gefunden' führt, entfernen Sie die Umgebungsvariable LOCPATH.
- Fehler beim Suchen einer vorhandenen Zeichenfolge in der Quellen- oder Listensicht eines Programms: Beim Arbeiten mit großen Quellen- oder Listendateien wird eine Zeichenfolge möglicherweise nicht mit der Suchfunktion des Debugger-Editors gefunden. Dieser Fehler kann auftreten, wenn nur ein Teil der Quelle oder der Liste im Editor geladen wird.
- Speichersicht zeigt falsche Zeichen an: Wenn die Speichersicht im Format 'HEX und Character' angezeigt wird, sind die Hexadezimaldaten zwar korrekt, aber nur Zeichen mit Einzelbytecodierung (SBCS) werden auch korrekt angezeigt. .
- Beim Blättern werden mehr Zeilen als erwartet übersprungen: Im Editor des Debuggers werden bei der Verwendung der Funktion zum Blättern eventuell mehr Zeilen als erwartet übersprungen. Wenn Sie zu einer bestimmten Zeile springen wollen, verwenden Sie die Aktion 'Gehe zu Zeile' (Strg+L).
- 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.
HTML-Scriptanwendung
Möglicherweise treten die folgenden Probleme auf, wenn Sie versuchen, eine Debugsitzung für eine HTML-Scriptanwendung zu starten:
- Persistente Fehlernachricht mit dem Inhalt 'Fehler beim Erstellen des Debugziels'.
- Bei dem Versuch, für das Debug eine Verbindung zu einem vorhandenen Browser herzustellen, kann der Debugger keine Liste der aktiven Browser abrufen.
Diese Probleme lassen sich folgendermaßen beheben:
- Schließen Sie alle aktiven Browserfenster und alle aktiven Fenster von Microsoft(R) Windows Explorer, und versuchen Sie erst danach, eine neue Debugsitzung zu starten.
- Wenn das Problem mit der oben beschriebenen Methode nicht behoben werden kann, läuft der Prozess von 'mdm.exe' fehlerhaft ab. Schließen Sie alle aktiven Browser und alle Datei-Explorer, und beenden Sie 'mdm.exe' anschließend im Task-Manager von Windows(R). Starten Sie die Debugsitzung erneut.
Wenn Sie versuchen, für das Debug eine Verbindung zu einem vorhandenen Browser herzustellen, erstellen Sie keine Verbindung zu dem internen Browser der WebSphere Studio-Workbench. Falls Sie für das Debug eine Verbindung zu dem internen Browser herstellen, wird die Workbench nicht mehr reagieren und es können unvorhersehbare Ergebnisse auftreten.
Möglicherweise treten die folgenden Probleme während der Debugsitzung für eine HTML-Scriptanwendung auf:
- Die aktuelle Position wird im Editor nicht hervorgehoben angezeit, wenn die Debugsitzung ausgesetzt wird.
- Es können keine Unterbrechungspunkte installiert werden.
- Die Quelle ist nicht zum Anzeigen verfügbar, wenn sie sich außerhalb des Arbeitsbereichs der Workbench befindet.
Diese Probleme lassen sich folgendermaßen beheben:
- Möglicherweise lädt der Browser die Seite nicht korrekt. Aktualisieren Sie die Anzeige in Microsoft(R) Internet Explorer. (Gegebenenfalls ist es erforderlich, dies mehrmals zu wiederholen).
- Wenn das Problem nach der Aktualisierung der Anzeige immer noch nicht behoben ist, beenden Sie die Debugsitzung. Schließen Sie alle aktiven Browser und alle Datei-Explorer, und starten Sie die Debugsitzung erneut.
- Wenn das Problem mit der oben beschriebenen Methode nicht behoben werden kann, läuft der Prozess von 'mdm.exe' fehlerhaft ab. Beenden Sie die Debugsitzung, alle aktiven Browser und alle Datei-Explorer. Beenden Sie 'mdm.exe' im Task-Manager von Windows(R) und starten Sie die Debugsitzung neu.
Hilfefenster der Workbench oder interne Browser, die während der Active Script-Debugsitzung geöffnet oder aktiv sind, können sich störend auf die Debugsitzung auswirken und unvorhersehbares Verhalten verursachen.
Unterbrechungspunkte, die vor einer Debugsitzung definiert wurden, werden ignoriert, wenn die Seite auf einem Server implementiert wird. Wenn Sie einen Unterbrechungspunkt definieren wollen, setzen Sie die Debugsitzung aus, rufen Sie die Quelle auf und definieren Sie den Unterbrechungspunkt auf dieser temporären Seite. Detailinformationen hierzu enthält 'Zeilenunterbrechungspunkt definieren'.
Active Script Debugger verwendet Microsoft(R) Script Debugger zum Abrufen von Debuginformationen. Bei weiteren Fragen und Belangen, die Microsoft(R) Script Debugger betreffen, sollte die dem Produkt zugehörige Readme-Datei konsultiert werden.
Script-Hostanwendung
Möglicherweise tritt das folgende Problem auf, wenn Sie versuchen, eine Debugsitzung für eine Script-Hostanwendung zu starten:
- Persistente Fehlernachricht mit dem Inhalt 'Fehler beim Erstellen des Debugziels'.
Dieses Problem lässt sich folgendermaßen beheben:
- Schließen Sie alle aktiven Browserfenster und alle aktiven Fenster von Microsoft(R) Windows Explorer, und versuchen Sie erst danach, eine neue Debugsitzung zu starten.
- Wenn das Problem mit der oben beschriebenen Methode nicht behoben werden kann, läuft der Prozess von 'mdm.exe' fehlerhaft ab. Schließen Sie alle aktiven Browser und alle Dateimanager bzw. Explorer, und beenden Sie 'mdm.exe' anschließend im Task-Manager von Windows(R). Starten Sie die Debugsitzung erneut.
(C) Copyright IBM Corporation 2000, 2003. All Rights Reserved. (C) Copyright IBM Deutschland GmbH 2000, 2003. Alle Rechte vorbehalten.