Wizards & Builders GmbH Fehlerbehandlung und Debugging Aufspüren und Behandeln von Programmfehlern...

Click here to load reader

  • date post

    05-Apr-2015
  • Category

    Documents

  • view

    109
  • download

    0

Embed Size (px)

Transcript of Wizards & Builders GmbH Fehlerbehandlung und Debugging Aufspüren und Behandeln von Programmfehlern...

  • Folie 1
  • Wizards & Builders GmbH Fehlerbehandlung und Debugging Aufspren und Behandeln von Programmfehlern unter Microsoft Visual FoxPro
  • Folie 2
  • Wizards & Builders GmbH Diese Schulung dient der Einfhrung in das Aufspren und Behandeln von Fehlern in Anwenden unter Microsoft Visual FoxPro
  • Folie 3
  • Wizards & Builders GmbH Themenbersicht Aufspren von Fehlern Aufspren von Fehlern Assertions, Debuggen, Debugger, Trace, Debugout, Breakpoints, Eventtracking, Coverage Profiler, Fehlerprotokoll Assertions, Debuggen, Debugger, Trace, Debugout, Breakpoints, Eventtracking, Coverage Profiler, Fehlerprotokoll Behandeln von Fehlern Behandeln von Fehlern Auftreten von Fehlern, Fehlerbehandlung, Fehlerinformation, Fehlerreaktion, Reaktionsentscheidung, Kaskadieren, Fehlerobjekt Auftreten von Fehlern, Fehlerbehandlung, Fehlerinformation, Fehlerreaktion, Reaktionsentscheidung, Kaskadieren, Fehlerobjekt Fehlerbereiche Fehlerbereiche Dateien, Netz, Buffer, Validierung, Trigger, Ausgabe Dateien, Netz, Buffer, Validierung, Trigger, Ausgabe Diverse Probleme Diverse Probleme
  • Folie 4
  • Wizards & Builders GmbH Aufspren von Fehlern Arbeiten mit dem Debugger, Coverage Profiler, Assertions in Microsoft Visual FoxPro
  • Folie 5
  • Wizards & Builders GmbH Assertions SET ASSERT ON SET ASSERT ON ASSERT MESSAGE ASSERT MESSAGE Performanter als Parameterprfung auf allen Vererbungs- ebenen... Performanter als Parameterprfung auf allen Vererbungs- ebenen... Systemfunktionen! Systemfunktionen!
  • Folie 6
  • Wizards & Builders GmbH Interaktives Debuggen SYS(1270) SYS(1270) Object Location Object Location SYS(1271) SYS(1271) Object SCX-File Object SCX-File SYS(1272) SYS(1272) Object Hierarchy Object Hierarchy SYS(1269) SYS(1269) Property Changed from Default Value Property Changed from Default Value Message() Message() Message(1) Message(1) Error() Error() SYS(2018) (Para.) SYS(2018) (Para.) aError() aError() Achtung: Diverse SETs werden zurckgesetzt! Achtung: Diverse SETs werden zurckgesetzt!
  • Folie 7
  • Wizards & Builders GmbH Debugger Programmverfolgung(Trace) Programmverfolgung(Trace) berwachung(Debug) berwachung(Debug) Aufruf-Stack(Program) Aufruf-Stack(Program) Debug-Ausgabe (Debugout) Debug-Ausgabe (Debugout) Aktuelle Variablen(Display Memo) Aktuelle Variablen(Display Memo) Extras Extras Haltepunkte, Ereignisberwachung, Protokoll Haltepunkte, Ereignisberwachung, Protokoll
  • Folie 8
  • Wizards & Builders GmbH Trace SET STEP ON SET STEP ON Step OutShift+F7 Step OutShift+F7 Step OverF6 Step OverF6 Step IntoF8 Step IntoF8 Run to CursorF7 Run to CursorF7 Set Next Statement Set Next Statement
  • Folie 9
  • Wizards & Builders GmbH Debugout DEBUGOUT Text DEBUGOUT Text Anzeige im Debugout-Fenster im Debugger Anzeige im Debugout-Fenster im Debugger Trick fr Debugging mit Debugout: Trick fr Debugging mit Debugout: #DEFINE DEBUGOUT NOTE #DEFINE DEBUGOUT NOTE
  • Folie 10
  • Wizards & Builders GmbH Breakpoints Mglichkeiten im Breakpoint-Fenster: Location Location Location und Expression Location und Expression Expression Expression Expression Changed Expression Changed Pass Counter! Pass Counter!
  • Folie 11
  • Wizards & Builders GmbH Eventtracking SET EVENTTRACKING ON SET EVENTTRACKING ON SET EVENTLIST TO SET EVENTLIST TO
  • Folie 12
  • Wizards & Builders GmbH Coverage Profiler _COVERAGE _COVERAGE SET COVERAGE TO SET COVERAGE TO DO (_COVERAGE) WITH DO (_COVERAGE) WITH Zusatzparameter: UI Zusatzparameter: UI Zusatzparameter: AddIn Zusatzparameter: AddIn
  • Folie 13
  • Wizards & Builders GmbH Fehlerprotokoll Protokolldatei fr Fehlermeldungen Protokolldatei fr Fehlermeldungen CREATE TABLE HISTORY CREATE TABLE HISTORY ( ( ) ) ( ( ) ) Ggf. umfangreiche Ausgaben Ggf. umfangreiche Ausgaben LIST STAT, LIST MEMO, Program(), SET LIST STAT, LIST MEMO, Program(), SET Ggf. Versand per eMail Ggf. Versand per eMail Zippen und eMail anlegen, ggf. bei nchstem Start Zippen und eMail anlegen, ggf. bei nchstem Start
  • Folie 14
  • Wizards & Builders GmbH Behandeln von Fehlern Abfangen und Behandeln von allgemeinen/Objekt-Fehlern unter Microsoft Visual FoxPro
  • Folie 15
  • Wizards & Builders GmbH Auftreten von Fehlern Programmcode Programmcode Mencode Mencode Objekte auf Maske mit Error-Methode Objekte auf Maske mit Error-Methode Objekte auf Maske ohne Error-Methode Objekte auf Maske ohne Error-Methode Datenumgebung Datenumgebung Buffer, Validierungen, Trigger Buffer, Validierungen, Trigger
  • Folie 16
  • Wizards & Builders GmbH Fehlerbehandlung Error-Methode: Error Event( ) Error Event( ) Fr Fehler im Objekt Fr Fehler im Objekt Manchmal kein RETRY mglich (bei leeren FoxPro- Methoden) Manchmal kein RETRY mglich (bei leeren FoxPro- Methoden) Globaler Handler: ON ERROR ON ERROR Fr prozeduralen Code und Mens Fr prozeduralen Code und Mens Immer RETRY oder RETURN TO MASTER mglich Immer RETRY oder RETURN TO MASTER mglich
  • Folie 17
  • Wizards & Builders GmbH Fehlerinformationen Parameter: Error() Error() Message() Message() Message(1) Message(1) Lineno() Lineno() Program() Program() Sys(16) Sys(16) Sys(2018) Sys(2018)Informationen: Aerror() Aerror() Wichtig: Eigenes Fehlerprotokoll! Wichtig: Eigenes Fehlerprotokoll!
  • Folie 18
  • Wizards & Builders GmbH Fehlerreaktionen RETRY RETRY RETURN RETURN RETURN TO RETURN TO RETURN TO MASTER RETURN TO MASTER CANCEL CANCEL QUIT QUIT
  • Folie 19
  • Wizards & Builders GmbH Reaktionsentscheidung Ignorieren und Fortsetzen (Warning) Ignorieren und Fortsetzen (Warning) Beseitigen und Fortsetzen (Error) Beseitigen und Fortsetzen (Error) Anwenderbeseitigung und Fortsetzen Anwenderbeseitigung und Fortsetzen Modulabbruch Modulabbruch Programmabbruch Programmabbruch Anwenderentscheidung Anwenderentscheidung
  • Folie 20
  • Wizards & Builders GmbH Kaskadieren von Fehlern Alternative: Weiter-leitung an Parent Parent suchen Parent suchen Auswertung Rckgabe-wert Auswertung Rckgabe-wert
  • Folie 21
  • Wizards & Builders GmbH Fehlerobjekte Erzeugen eines Fehlerobjekts in der Fehlermethode, Weitergabe Objekt Erzeugen eines Fehlerobjekts in der Fehlermethode, Weitergabe Objekt Problematisch bei CREATEOBJ-Fehlern und bei Speichermangel Problematisch bei CREATEOBJ-Fehlern und bei Speichermangel Sollte ggf. an globalen Errormanager weiterleiten (Parameter Direktaufruf) Sollte ggf. an globalen Errormanager weiterleiten (Parameter Direktaufruf) siehe ErrorObject (Comp.Gallery) siehe ErrorObject (Comp.Gallery)
  • Folie 22
  • Wizards & Builders GmbH Fehlerbereiche Typische Fehlerbereiche und die jeweilige Fehlerbehandlung unter Microsoft Visual FoxPro
  • Folie 23
  • Wizards & Builders GmbH Typische Fehler Dateien Dateien Netzwerk Netzwerk Buffer Buffer Validierung Validierung Trigger Trigger Ausgabe Ausgabe UDF-SQL oder Filter UDF-SQL oder Filter
  • Folie 24
  • Wizards & Builders GmbH Behandlung Dateifehler Tabelle oder Datenbank nicht in Datenumgebung, ggf. korrigierbar Tabelle oder Datenbank nicht in Datenumgebung, ggf. korrigierbar Zugriff verweigert, ggf. Wiederholung Zugriff verweigert, ggf. Wiederholung Indexfehler, ggf. Reindex/Reorganisation Indexfehler, ggf. Reindex/Reorganisation Reset: Userlogin/logout-Logdatei mit entsprechender Warnmeldung (!) Reset: Userlogin/logout-Logdatei mit entsprechender Warnmeldung (!) Komplexe Dateifehler: Einsatz FoxFix Komplexe Dateifehler: Einsatz FoxFix
  • Folie 25
  • Wizards & Builders GmbH Behandlung Netzwerkfehler Satz/Header durch User gesperrt Satz/Header durch User gesperrt SET REPROCESS SET REPROCESS Eigene RLOCK-Funktion mit Schleife Eigene RLOCK-Funktion mit Schleife Ggf. User-Feld in Datensatz betreff Satzsperre Ggf. User-Feld in Datensatz betreff Satzsperre Dateisperren vermeiden (FLOCK) Dateisperren vermeiden (FLOCK) berlauf Satzsperren unter Novell berlauf Satzsperren unter Novell MAXRECORDLOCKS, MAXPERSESSION MAXRECORDLOCKS, MAXPERSESSION
  • Folie 26
  • Wizards & Builders GmbH Behandlung Buffer-Fehler Datensatz whrend Lschen von anderem Anwender gendert Datensatz whrend Lschen von anderem Anwender gendert Datensatz whrend nderung von anderem Anwender gendert Datensatz whrend nderung von anderem Anwender gendert siehe Conflict Catcher (Comp.Galery) siehe Conflict Catcher (Comp.Galery) Feldweise Updaten oder Neuerfassung Feldweise Updaten oder Neuerfassung
  • Folie 27
  • Wizards & Builders GmbH Behandlung Validierungsfehler Feld-Valid Feld-Valid Wiederholung oder Speichern mit Fehler Wiederholung oder Speichern mit Fehler Tabellen-Valid Tabellen-Valid Wiederholung oder Speichern mit Fehler (?) Wiederholung oder Speichern mit Fehler (?) Primrschlssel / Candidate-Schlssel Primrschlssel / Candidate-Schlssel Korrektur erzwingen Korrektur erzwingen Normalerweise abgefangen (abstrakte Keys) Normalerweise abgefangen (abstrakte Keys)
  • Folie 28
  • Wizards & Builders GmbH Behandlung Trigger-Fehler Trigger versagt Trigger versagt Triggerart Triggerart Triggerlevel Triggerlevel immer problematisch immer problematisch Freundliche Ausgabe fr Anwender Freundliche Ausgabe fr Anwender ggf. RI-Fehlertexte ablegen und setzen ggf. RI-Fehlertexte ablegen und setzen Wiederholungsversuch nur bedingt sinnvoll Wiederholungsversuch nur bedingt sinnvoll
  • Folie 29
  • Wizards & Builders GmbH Behandlung Ausgabefehler Bildschirmausgabe Bildschirmausgabe Koordinatenfehler, Fontprobleme Koordinatenfehler, Fontprobleme Druckerausgabe Druckerausgabe Statusmeldungen weiterleiten und User fragen Statusmeldungen weiterleiten und User fragen Speichern in Datei Speichern in Datei Ggf. kein Speicherplatz Ggf. kein Speicherplatz Datenbertragung Datenbertragung
  • Folie 30
  • Wizards & Builders GmbH Behandlung UserDefined-Fehler In selbstdefinierten SQL-Statements oder Ausgabeabfragen ggf. ignorieren In selbstdefinierten SQL-Statements oder Ausgabeabfragen ggf. ignorieren notwendig: Modusflag fr Userabfragen und andere LowPrio-Aktivitten notwendig: Modusflag fr Userabfragen und andere LowPrio-Aktivitten ggf. globale Severity-Level-Variable ggf. globale Severity-Level-Variable
  • Folie 31
  • Wizards & Builders GmbH Diverse Probleme Spezieller Trigger-Fehler in RI-Delete Spezieller Trigger-Fehler in RI-Delete llRetVal=pnerror=0 verschieben llRetVal=pnerror=0 verschieben Fehlerhafte Fehlermeldung Field-Valid Fehlerhafte Fehlermeldung Field-Valid ??? ??? Fehler in SKIP-FOR-Klauseln in Mens Fehler in SKIP-FOR-Klauseln in Mens landen nicht in Fehlerbehandlung... landen nicht in Fehlerbehandlung...
  • Folie 32
  • Wizards & Builders GmbH Was ist zu beachten? Kl. Tricks merken Kl. Tricks merken Fehlerprotokoll Fehlerprotokoll Error-Strategie Error-Strategie Behandlung von Standardfehlern Behandlung von Standardfehlern Korrektur von kl. FoxPro-Fehlern Korrektur von kl. FoxPro-Fehlern
  • Folie 33
  • Wizards & Builders GmbH Vielen Dank! Das waren die Themen: Aufspren von Fehlern Aufspren von Fehlern Assertions, Debuggen, Debugger, Trace, Debugout, Breakpoints, Eventtracking, Coverage Profiler, Fehlerprotokoll Assertions, Debuggen, Debugger, Trace, Debugout, Breakpoints, Eventtracking, Coverage Profiler, Fehlerprotokoll Behandeln von Fehlern Behandeln von Fehlern Auftreten von Fehlern, Fehlerbehandlung, Fehlerinformation, Fehlerreaktion/entscheidung, Kaskadieren, Fehlerobjekt Auftreten von Fehlern, Fehlerbehandlung, Fehlerinformation, Fehlerreaktion/entscheidung, Kaskadieren, Fehlerobjekt Fehlerbereiche Fehlerbereiche Dateien, Netz, Buffer, Validierung, Trigger, Ausgabe, UDF, Diverse Dateien, Netz, Buffer, Validierung, Trigger, Ausgabe, UDF, Diverse
  • Folie 34
  • Wizards & Builders GmbH Wenn Fragen bestehen: Wizards & Builders Methodische Software- Entwicklung GmbH Frankfurter Str. 21b 61476 Kronberg Tel.: 06173-950906 Fax: 06173-950907 CIS: 101605,175