1 / 34

Fehlerbehandlung und Debugging

Fehlerbehandlung und Debugging. Aufspüren und Behandeln von Programmfehlern unter Microsoft Visual FoxPro. Diese Schulung dient der Einführung in das Aufspüren und Behandeln von Fehlern in Anwenden unter Microsoft Visual FoxPro. Themenübersicht. Aufspüren von Fehlern

regina
Download Presentation

Fehlerbehandlung und Debugging

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Fehlerbehandlung und Debugging Aufspüren und Behandeln von Programmfehlern unterMicrosoft Visual FoxPro

  2. Diese Schulung dient der Einführung in das Aufspüren und Behandeln von Fehlern in Anwenden unterMicrosoft Visual FoxPro

  3. Themenübersicht • Aufspüren von Fehlern • Assertions, Debuggen, Debugger, Trace, Debugout, Breakpoints, Eventtracking, Coverage Profiler, Fehlerprotokoll • Behandeln von Fehlern • Auftreten von Fehlern, Fehlerbehandlung, Fehlerinformation, Fehlerreaktion, Reaktionsentscheidung, Kaskadieren, Fehlerobjekt • Fehlerbereiche • Dateien, Netz, Buffer, Validierung, Trigger, Ausgabe • Diverse Probleme

  4. Aufspüren von Fehlern Arbeiten mit dem Debugger, Coverage Profiler, Assertions inMicrosoft Visual FoxPro

  5. Assertions • SET ASSERT ON • ASSERT <Bed.> MESSAGE <Mess.> • Performanter als Parameterprüfung auf allen Vererbungs- ebenen... • Systemfunktionen!

  6. SYS(1270) Object Location SYS(1271) Object SCX-File SYS(1272) Object Hierarchy SYS(1269) Property Changed from Default Value Message() Message(1) Error() SYS(2018) (Para.) aError() Achtung: Diverse SETs werden zurückgesetzt! Interaktives Debuggen

  7. Debugger • Programmverfolgung (Trace) • Überwachung (Debug) • Aufruf-Stack (Program) • Debug-Ausgabe (Debugout) • Aktuelle Variablen (Display Memo) • Extras • Haltepunkte, Ereignisüberwachung, Protokoll

  8. Trace • SET STEP ON • Step Out Shift+F7 • Step Over F6 • Step Into F8 • Run to Cursor F7 • Set Next Statement

  9. Debugout • DEBUGOUT „Text“ • Anzeige im Debugout-Fenster im Debugger • Trick für Debugging mit Debugout: • #DEFINE DEBUGOUT NOTE

  10. Breakpoints Möglichkeiten im Breakpoint-Fenster: • Location • Location und Expression • Expression • Expression Changed • Pass Counter!

  11. Eventtracking • SET EVENTTRACKING ON • SET EVENTLIST TO

  12. Coverage Profiler • _COVERAGE • SET COVERAGE TO <logfile> • DO (_COVERAGE) WITH <logfile> • Zusatzparameter: UI • Zusatzparameter: AddIn

  13. Fehlerprotokoll • Protokolldatei für Fehlermeldungen • CREATE TABLE HISTORY • ( <Feld> <Art>(<Len>) ) • Ggf. umfangreiche Ausgaben • LIST STAT, LIST MEMO, Program(), SET • Ggf. Versand per eMail • Zippen und eMail anlegen, ggf. bei nächstem Start

  14. Behandeln von Fehlern Abfangen und Behandeln von allgemeinen/Objekt-Fehlern unterMicrosoft Visual FoxPro

  15. Auftreten von Fehlern • Programmcode • Menücode • Objekte auf Maske mit Error-Methode • Objekte auf Maske ohne Error-Methode • Datenumgebung • Buffer, Validierungen, Trigger

  16. Error-Methode: Error Event( ) Für Fehler im Objekt Manchmal kein RETRY möglich (bei leeren FoxPro-Methoden) Globaler Handler: ON ERROR Für prozeduralen Code und Menüs Immer RETRY oder RETURN TO MASTER möglich Fehlerbehandlung

  17. Parameter: Error() Message() Message(1) Lineno() Program() Sys(16) Sys(2018) Informationen: Aerror() Wichtig: Eigenes Fehlerprotokoll! Fehlerinformationen

  18. Fehlerreaktionen • RETRY • RETURN • RETURN TO <program> • RETURN TO MASTER • CANCEL • QUIT

  19. Reaktionsentscheidung • Ignorieren und Fortsetzen (Warning) • Beseitigen und Fortsetzen (Error) • Anwenderbeseitigung und Fortsetzen • Modulabbruch • Programmabbruch • Anwenderentscheidung

  20. Kaskadieren von Fehlern Alternative: Weiter-leitung an Parent • Parent suchen • Auswertung Rückgabe-wert

  21. Fehlerobjekte • Erzeugen eines Fehlerobjekts in der Fehlermethode, Weitergabe Objekt • Problematisch bei CREATEOBJ-Fehlern und bei Speichermangel • Sollte ggf. an globalen Errormanager weiterleiten (Parameter Direktaufruf) • siehe „ErrorObject“ (Comp.Gallery)

  22. Fehlerbereiche Typische Fehlerbereiche und die jeweilige Fehlerbehandlung unter Microsoft Visual FoxPro

  23. Typische Fehler • Dateien • Netzwerk • Buffer • Validierung • Trigger • Ausgabe • UDF-SQL oder Filter

  24. Behandlung Dateifehler • Tabelle oder Datenbank nicht in Datenumgebung, ggf. korrigierbar • Zugriff verweigert, ggf. Wiederholung • Indexfehler, ggf. Reindex/Reorganisation • Reset: Userlogin/logout-Logdatei mit entsprechender Warnmeldung (!) • Komplexe Dateifehler: Einsatz FoxFix

  25. Behandlung Netzwerkfehler • Satz/Header durch User gesperrt • SET REPROCESS • Eigene RLOCK-Funktion mit Schleife • Ggf. User-Feld in Datensatz betreff Satzsperre • Dateisperren vermeiden (FLOCK) • Überlauf Satzsperren unter Novell • MAXRECORDLOCKS, MAXPERSESSION

  26. Behandlung Buffer-Fehler • Datensatz während Löschen von anderem Anwender geändert • Datensatz während Änderung von anderem Anwender geändert • siehe „Conflict Catcher“ (Comp.Galery) • Feldweise Updaten oder Neuerfassung

  27. Behandlung Validierungsfehler • Feld-Valid • Wiederholung oder Speichern mit Fehler • Tabellen-Valid • Wiederholung oder Speichern mit Fehler (?) • Primärschlüssel / Candidate-Schlüssel • Korrektur erzwingen • Normalerweise abgefangen (abstrakte Keys)

  28. Behandlung Trigger-Fehler • Trigger versagt • Triggerart • Triggerlevel • immer problematisch • Freundliche Ausgabe für Anwender • ggf. RI-Fehlertexte ablegen und setzen • Wiederholungsversuch nur bedingt sinnvoll

  29. Behandlung Ausgabefehler • Bildschirmausgabe • Koordinatenfehler, Fontprobleme • Druckerausgabe • Statusmeldungen weiterleiten und User fragen • Speichern in Datei • Ggf. kein Speicherplatz • Datenübertragung

  30. Behandlung UserDefined-Fehler • In selbstdefinierten SQL-Statements oder Ausgabeabfragen ggf. ignorieren • notwendig: Modusflag für Userabfragen und andere LowPrio-Aktivitäten • ggf. globale Severity-Level-Variable

  31. Diverse Probleme • Spezieller Trigger-Fehler in RI-Delete • llRetVal=pnerror=0 verschieben • Fehlerhafte Fehlermeldung Field-Valid • ??? • Fehler in SKIP-FOR-Klauseln in Menüs • landen nicht in Fehlerbehandlung ...

  32. Was ist zu beachten? • Kl. Tricks merken • Fehlerprotokoll • Error-Strategie • Behandlung von Standardfehlern • Korrektur von kl. FoxPro-Fehlern

  33. Vielen Dank! Das waren die Themen: • Aufspüren von Fehlern • Assertions, Debuggen, Debugger, Trace, Debugout, Breakpoints, Eventtracking, Coverage Profiler, Fehlerprotokoll • Behandeln von Fehlern • Auftreten von Fehlern, Fehlerbehandlung, Fehlerinformation, Fehlerreaktion/entscheidung, Kaskadieren, Fehlerobjekt • Fehlerbereiche • Dateien, Netz, Buffer, Validierung, Trigger, Ausgabe, UDF, Diverse

  34. Wenn Fragen bestehen: Wizards & Builders Methodische Software-Entwicklung GmbH Frankfurter Str. 21b 61476 Kronberg Tel.: 06173-950906 Fax: 06173-950907 CIS: 101605,175

More Related