Zurück

Debugging von PL/SQL Code mit SQL Navigator

Übersicht

SQL Navigator ist wohl das "ultimative" Tool um PL/SQL Code zu erstellen. SQL-Navigator bietet in der neusten Version auch einen recht leistungsfähigen Debugger an, damit sollten also die Zeiten des (mühsamen) DBMS_OUTPUT.PUT_LINE() Debugging vorbei sein. Wir einige Möglichkeiten des SQL Navigators angesehen, wie mit diesem Tool der Debugger verwendet werden kann.

  • SQL Navigator starten, auf bestehendem DB-Schema connecten.

  • Debugger einschalten: Menu "Debugger" -> "Debug PL/SQL". Ein kleiner Haken vor dem Menüpunkt zeigt danach, dass der Debugger aktiv ist.

  • "Stored Program Editor" öffnen, gewünschtes Package (Body) bzw. Procedure laden.

  • Package (Body) bzw. Procedure neu compilieren: Damit werden die Debug-Informationen zur Überwachung von Variablen generiert. Dazu kann der Button "Save" im Editor verwendet werden; das Package muss fehlerfrei installiert sein (Status = VALID).

  • Im Code kann an beliebiger Stelle ein Breakpoint gesetzt werden, z.B. eingangs der fehlerhaften Procedure (Funktionstaste F5). Tip: Es kann auch in der Initialisierungsphase der Stored Procedure ein Breakpoint gesetzt werden. Dieser ist allerdings nur beim ersten Mal wirksam !

  • "SQL-Editor" öffnen, Register "Single SQL" verwenden. Procedure-Aufruf eingeben, z.B.

BEGIN
   scl_ppr.generateDailyFile('09.08.1999');
END;

  • Mit "Execute SQL" (F9) Debugger starten, danach mit Single Step (step over F8, step into F7) oder Run (F9) Procedure ausführen: Damit kann der Programmablauf verfolgt und der Inhalt bestimmter Variablen zum gewünschten Zeitpunkt inspiziert werden (Cusor auf Variable setzen, Button "Add").

  • Nach der Debug Session empfiehlt es sich, das Package bzw. die Procedure erneut OHNE Debug-Informationen zu installieren.

Voraussetzung dafür ist natürlich, dass SQL Navigator installiert und korrekt konfiguriert worden ist (siehe dazu auch Optional steps im Readme.wri). Ferner verwendet SQL Navigator SQL*Net V2.3.x, weshalb auch mit Oracle 8.0.5 bzw. 8.1.5 die entsprechende Client-SW installiert werden muss.