+ All Categories
Home > Documents > Wizards & Builders GmbH Fehlerbehandlung und Debugging Aufspüren und Behandeln von Programmfehlern...

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

Date post: 05-Apr-2015
Category:
Upload: ortrun-raimer
View: 114 times
Download: 0 times
Share this document with a friend
34
Wizards & Wizards & Builders Builders GmbH GmbH Fehlerbehandlung und Debugging Fehlerbehandlung und Debugging Aufspüren und Behandeln von Aufspüren und Behandeln von Programmfehlern unter Programmfehlern unter Microsoft Visual FoxPro Microsoft Visual FoxPro
Transcript
Page 1: Wizards & Builders GmbH Fehlerbehandlung und Debugging Aufspüren und Behandeln von Programmfehlern unter Microsoft Visual FoxPro.

Wizards & Wizards & Builders GmbH Builders GmbH

Fehlerbehandlung und Fehlerbehandlung und DebuggingDebugging

Aufspüren und Behandeln von Aufspüren und Behandeln von Programmfehlern unterProgrammfehlern unterMicrosoft Visual FoxProMicrosoft Visual FoxPro

Page 2: Wizards & Builders GmbH Fehlerbehandlung und Debugging Aufspüren und Behandeln von Programmfehlern unter Microsoft Visual FoxPro.

Wizards & Wizards & Builders GmbH Builders GmbH

Diese Schulung dient der Einführung in das Aufspüren und

Behandeln von Fehlern in Anwenden unter

Microsoft Visual FoxPro

Page 3: Wizards & Builders GmbH Fehlerbehandlung und Debugging Aufspüren und Behandeln von Programmfehlern unter Microsoft Visual FoxPro.

Wizards & Wizards & Builders GmbH Builders GmbH

ThemenübersichtThemenübersicht

Aufspüren von FehlernAufspüren von FehlernAssertions, Debuggen, Debugger, Trace, Assertions, Debuggen, Debugger, Trace,

Debugout, Breakpoints, Eventtracking, Debugout, Breakpoints, Eventtracking, Coverage Profiler, FehlerprotokollCoverage Profiler, Fehlerprotokoll

Behandeln von FehlernBehandeln von FehlernAuftreten von Fehlern, Fehlerbehandlung, Auftreten von Fehlern, Fehlerbehandlung,

Fehlerinformation, Fehlerreaktion, Fehlerinformation, Fehlerreaktion, Reaktionsentscheidung, Kaskadieren, Reaktionsentscheidung, Kaskadieren, FehlerobjektFehlerobjekt

FehlerbereicheFehlerbereiche Dateien, Netz, Buffer, Validierung, Trigger, Dateien, Netz, Buffer, Validierung, Trigger,

AusgabeAusgabe

Diverse ProblemeDiverse Probleme

Page 4: Wizards & Builders GmbH Fehlerbehandlung und Debugging Aufspüren und Behandeln von Programmfehlern unter Microsoft Visual FoxPro.

Wizards & Wizards & Builders GmbH Builders GmbH

Aufspüren von FehlernAufspüren von Fehlern

Arbeiten mit dem Debugger, Arbeiten mit dem Debugger, Coverage Profiler, Assertions Coverage Profiler, Assertions

ininMicrosoft Visual FoxProMicrosoft Visual FoxPro

Page 5: Wizards & Builders GmbH Fehlerbehandlung und Debugging Aufspüren und Behandeln von Programmfehlern unter Microsoft Visual FoxPro.

Wizards & Wizards & Builders GmbH Builders GmbH

AssertionsAssertions

SET ASSERT ONSET ASSERT ON ASSERT <Bed.> ASSERT <Bed.>

MESSAGE <Mess.>MESSAGE <Mess.> Performanter als Performanter als

Parameterprüfung Parameterprüfung auf allen auf allen Vererbungs- Vererbungs- ebenen...ebenen...

SystemfunktionenSystemfunktionen!!

Page 6: Wizards & Builders GmbH Fehlerbehandlung und Debugging Aufspüren und Behandeln von Programmfehlern unter Microsoft Visual FoxPro.

Wizards & Wizards & Builders GmbH Builders GmbH

Interaktives DebuggenInteraktives Debuggen

SYS(1270)SYS(1270) Object LocationObject Location

SYS(1271)SYS(1271) Object SCX-FileObject SCX-File

SYS(1272)SYS(1272) Object HierarchyObject Hierarchy

SYS(1269)SYS(1269) Property Changed Property Changed

from Default Valuefrom Default Value

Message()Message() Message(1)Message(1) Error()Error() SYS(2018) (Para.)SYS(2018) (Para.) aError()aError()

Achtung: Diverse Achtung: Diverse SETs werden SETs werden zurückgesetzt!zurückgesetzt!

Page 7: Wizards & Builders GmbH Fehlerbehandlung und Debugging Aufspüren und Behandeln von Programmfehlern unter Microsoft Visual FoxPro.

Wizards & Wizards & Builders GmbH Builders GmbH

DebuggerDebugger

ProgrammverfolgungProgrammverfolgung (Trace)(Trace) ÜberwachungÜberwachung (Debug)(Debug) Aufruf-StackAufruf-Stack (Program)(Program) Debug-Ausgabe Debug-Ausgabe

(Debugout)(Debugout) Aktuelle VariablenAktuelle Variablen (Display (Display

Memo)Memo) ExtrasExtras

Haltepunkte, Ereignisüberwachung, ProtokollHaltepunkte, Ereignisüberwachung, Protokoll

Page 8: Wizards & Builders GmbH Fehlerbehandlung und Debugging Aufspüren und Behandeln von Programmfehlern unter Microsoft Visual FoxPro.

Wizards & Wizards & Builders GmbH Builders GmbH

TraceTrace

SET STEP ONSET STEP ON Step OutStep Out Shift+F7Shift+F7 Step OverStep Over F6F6 Step IntoStep Into F8F8 Run to CursorRun to Cursor F7F7 Set Next StatementSet Next Statement

Page 9: Wizards & Builders GmbH Fehlerbehandlung und Debugging Aufspüren und Behandeln von Programmfehlern unter Microsoft Visual FoxPro.

Wizards & Wizards & Builders GmbH Builders GmbH

DebugoutDebugout

DEBUGOUT „Text“DEBUGOUT „Text“ Anzeige im Debugout-Fenster im Anzeige im Debugout-Fenster im

DebuggerDebugger

Trick für Debugging mit Trick für Debugging mit Debugout:Debugout: #DEFINE DEBUGOUT NOTE#DEFINE DEBUGOUT NOTE

Page 10: Wizards & Builders GmbH Fehlerbehandlung und Debugging Aufspüren und Behandeln von Programmfehlern unter Microsoft Visual FoxPro.

Wizards & Wizards & Builders GmbH Builders GmbH

BreakpointsBreakpoints

Möglichkeiten im Breakpoint-Möglichkeiten im Breakpoint-Fenster:Fenster:

LocationLocation Location und ExpressionLocation und Expression ExpressionExpression Expression ChangedExpression Changed Pass Counter!Pass Counter!

Page 11: Wizards & Builders GmbH Fehlerbehandlung und Debugging Aufspüren und Behandeln von Programmfehlern unter Microsoft Visual FoxPro.

Wizards & Wizards & Builders GmbH Builders GmbH

EventtrackingEventtracking

SET EVENTTRACKING ONSET EVENTTRACKING ON

SET EVENTLIST TOSET EVENTLIST TO

Page 12: Wizards & Builders GmbH Fehlerbehandlung und Debugging Aufspüren und Behandeln von Programmfehlern unter Microsoft Visual FoxPro.

Wizards & Wizards & Builders GmbH Builders GmbH

Coverage ProfilerCoverage Profiler

_COVERAGE_COVERAGE SET COVERAGE TO <logfile>SET COVERAGE TO <logfile>

DO (_COVERAGE) WITH DO (_COVERAGE) WITH <logfile><logfile> Zusatzparameter: UIZusatzparameter: UI Zusatzparameter: AddInZusatzparameter: AddIn

Page 13: Wizards & Builders GmbH Fehlerbehandlung und Debugging Aufspüren und Behandeln von Programmfehlern unter Microsoft Visual FoxPro.

Wizards & Wizards & Builders GmbH Builders GmbH

FehlerprotokollFehlerprotokoll

Protokolldatei für FehlermeldungenProtokolldatei für Fehlermeldungen CREATE TABLE HISTORYCREATE TABLE HISTORY

( <Feld> <Art>(<Len>) )( <Feld> <Art>(<Len>) )

Ggf. umfangreiche AusgabenGgf. umfangreiche Ausgaben LIST STAT, LIST MEMO, Program(), SETLIST STAT, LIST MEMO, Program(), SET

Ggf. Versand per eMailGgf. Versand per eMail Zippen und eMail anlegen, ggf. bei nächstem Zippen und eMail anlegen, ggf. bei nächstem

StartStart

Page 14: Wizards & Builders GmbH Fehlerbehandlung und Debugging Aufspüren und Behandeln von Programmfehlern unter Microsoft Visual FoxPro.

Wizards & Wizards & Builders GmbH Builders GmbH

Behandeln von FehlernBehandeln von Fehlern

Abfangen und Behandeln von Abfangen und Behandeln von allgemeinen/Objekt-Fehlern allgemeinen/Objekt-Fehlern

unterunterMicrosoft Visual FoxProMicrosoft Visual FoxPro

Page 15: Wizards & Builders GmbH Fehlerbehandlung und Debugging Aufspüren und Behandeln von Programmfehlern unter Microsoft Visual FoxPro.

Wizards & Wizards & Builders GmbH Builders GmbH

Auftreten von FehlernAuftreten von Fehlern

ProgrammcodeProgrammcode MenücodeMenücode Objekte auf Maske mit Error-Objekte auf Maske mit Error-

MethodeMethode Objekte auf Maske ohne Error-Objekte auf Maske ohne Error-

MethodeMethode DatenumgebungDatenumgebung Buffer, Validierungen, TriggerBuffer, Validierungen, Trigger

Page 16: Wizards & Builders GmbH Fehlerbehandlung und Debugging Aufspüren und Behandeln von Programmfehlern unter Microsoft Visual FoxPro.

Wizards & Wizards & Builders GmbH Builders GmbH

FehlerbehandlungFehlerbehandlung

Error-Methode:Error-Methode: Error Event( )Error Event( ) Für Fehler im Für Fehler im

ObjektObjekt Manchmal kein Manchmal kein

RETRY möglich RETRY möglich (bei leeren (bei leeren FoxPro-Methoden)FoxPro-Methoden)

Globaler Handler:Globaler Handler: ON ERRORON ERROR Für prozeduralen Für prozeduralen

Code und MenüsCode und Menüs Immer RETRY oder Immer RETRY oder

RETURN TO RETURN TO MASTER möglichMASTER möglich

Page 17: Wizards & Builders GmbH Fehlerbehandlung und Debugging Aufspüren und Behandeln von Programmfehlern unter Microsoft Visual FoxPro.

Wizards & Wizards & Builders GmbH Builders GmbH

FehlerinformationenFehlerinformationen

Parameter:Parameter: Error()Error() Message()Message() Message(1)Message(1) Lineno()Lineno() Program()Program() Sys(16)Sys(16) Sys(2018)Sys(2018)

Informationen:Informationen: Aerror()Aerror()

Wichtig: Wichtig: Eigenes Eigenes Fehlerprotokoll!Fehlerprotokoll!

Page 18: Wizards & Builders GmbH Fehlerbehandlung und Debugging Aufspüren und Behandeln von Programmfehlern unter Microsoft Visual FoxPro.

Wizards & Wizards & Builders GmbH Builders GmbH

FehlerreaktionenFehlerreaktionen

RETRYRETRY RETURNRETURN RETURN TO <program>RETURN TO <program> RETURN TO MASTERRETURN TO MASTER CANCELCANCEL QUITQUIT

Page 19: Wizards & Builders GmbH Fehlerbehandlung und Debugging Aufspüren und Behandeln von Programmfehlern unter Microsoft Visual FoxPro.

Wizards & Wizards & Builders GmbH Builders GmbH

ReaktionsentscheidungReaktionsentscheidung

Ignorieren und Fortsetzen (Warning)Ignorieren und Fortsetzen (Warning) Beseitigen und Fortsetzen (Error)Beseitigen und Fortsetzen (Error) Anwenderbeseitigung und FortsetzenAnwenderbeseitigung und Fortsetzen ModulabbruchModulabbruch ProgrammabbruchProgrammabbruch AnwenderentscheidungAnwenderentscheidung

Page 20: Wizards & Builders GmbH Fehlerbehandlung und Debugging Aufspüren und Behandeln von Programmfehlern unter Microsoft Visual FoxPro.

Wizards & Wizards & Builders GmbH Builders GmbH

Kaskadieren von FehlernKaskadieren von Fehlern

Alternative: Alternative: Weiter-Weiter-leitung an leitung an ParentParent

Parent Parent suchensuchen

Auswertung Auswertung Rückgabe-Rückgabe-wertwert

Page 21: Wizards & Builders GmbH Fehlerbehandlung und Debugging Aufspüren und Behandeln von Programmfehlern unter Microsoft Visual FoxPro.

Wizards & Wizards & Builders GmbH Builders GmbH

FehlerobjekteFehlerobjekte

Erzeugen eines Fehlerobjekts in der Erzeugen eines Fehlerobjekts in der Fehlermethode, Weitergabe ObjektFehlermethode, Weitergabe Objekt

Problematisch bei CREATEOBJ-Problematisch bei CREATEOBJ-Fehlern und bei SpeichermangelFehlern und bei Speichermangel

Sollte ggf. an globalen Sollte ggf. an globalen Errormanager weiterleiten Errormanager weiterleiten (Parameter Direktaufruf)(Parameter Direktaufruf)

siehe „ErrorObject“ (Comp.Gallery)siehe „ErrorObject“ (Comp.Gallery)

Page 22: Wizards & Builders GmbH Fehlerbehandlung und Debugging Aufspüren und Behandeln von Programmfehlern unter Microsoft Visual FoxPro.

Wizards & Wizards & Builders GmbH Builders GmbH

FehlerbereicheFehlerbereiche

Typische Fehlerbereiche und Typische Fehlerbereiche und die jeweilige die jeweilige

Fehlerbehandlung unter Fehlerbehandlung unter Microsoft Visual FoxProMicrosoft Visual FoxPro

Page 23: Wizards & Builders GmbH Fehlerbehandlung und Debugging Aufspüren und Behandeln von Programmfehlern unter Microsoft Visual FoxPro.

Wizards & Wizards & Builders GmbH Builders GmbH

Typische FehlerTypische Fehler

DateienDateien NetzwerkNetzwerk BufferBuffer ValidierungValidierung TriggerTrigger AusgabeAusgabe UDF-SQL oder FilterUDF-SQL oder Filter

Page 24: Wizards & Builders GmbH Fehlerbehandlung und Debugging Aufspüren und Behandeln von Programmfehlern unter Microsoft Visual FoxPro.

Wizards & Wizards & Builders GmbH Builders GmbH

Behandlung DateifehlerBehandlung Dateifehler

Tabelle oder Datenbank nicht in Tabelle oder Datenbank nicht in Datenumgebung, ggf. korrigierbarDatenumgebung, ggf. korrigierbar

Zugriff verweigert, ggf. WiederholungZugriff verweigert, ggf. Wiederholung Indexfehler, ggf. Reindex/ReorganisationIndexfehler, ggf. Reindex/Reorganisation Reset: Userlogin/logout-Logdatei mit Reset: Userlogin/logout-Logdatei mit

entsprechender Warnmeldung (!)entsprechender Warnmeldung (!) Komplexe Dateifehler: Einsatz FoxFixKomplexe Dateifehler: Einsatz FoxFix

Page 25: Wizards & Builders GmbH Fehlerbehandlung und Debugging Aufspüren und Behandeln von Programmfehlern unter Microsoft Visual FoxPro.

Wizards & Wizards & Builders GmbH Builders GmbH

Behandlung Behandlung NetzwerkfehlerNetzwerkfehler

Satz/Header durch User gesperrtSatz/Header durch User gesperrt SET REPROCESSSET REPROCESS Eigene RLOCK-Funktion mit SchleifeEigene RLOCK-Funktion mit Schleife Ggf. User-Feld in Datensatz betreff SatzsperreGgf. User-Feld in Datensatz betreff Satzsperre

Dateisperren vermeiden (FLOCK)Dateisperren vermeiden (FLOCK) Überlauf Satzsperren unter NovellÜberlauf Satzsperren unter Novell

MAXRECORDLOCKS, MAXPERSESSIONMAXRECORDLOCKS, MAXPERSESSION

Page 26: Wizards & Builders GmbH Fehlerbehandlung und Debugging Aufspüren und Behandeln von Programmfehlern unter Microsoft Visual FoxPro.

Wizards & Wizards & Builders GmbH Builders GmbH

Behandlung Buffer-FehlerBehandlung Buffer-Fehler

Datensatz während Löschen von Datensatz während Löschen von anderem Anwender geändertanderem Anwender geändert

Datensatz während Änderung von Datensatz während Änderung von anderem Anwender geändertanderem Anwender geändert

siehe „Conflict Catcher“ siehe „Conflict Catcher“ (Comp.Galery)(Comp.Galery)

Feldweise Updaten oder Feldweise Updaten oder NeuerfassungNeuerfassung

Page 27: Wizards & Builders GmbH Fehlerbehandlung und Debugging Aufspüren und Behandeln von Programmfehlern unter Microsoft Visual FoxPro.

Wizards & Wizards & Builders GmbH Builders GmbH

Behandlung Behandlung ValidierungsfehlerValidierungsfehler

Feld-ValidFeld-Valid Wiederholung oder Speichern mit FehlerWiederholung oder Speichern mit Fehler

Tabellen-ValidTabellen-Valid Wiederholung oder Speichern mit Fehler (?)Wiederholung oder Speichern mit Fehler (?)

Primärschlüssel / Candidate-Primärschlüssel / Candidate-SchlüsselSchlüssel Korrektur erzwingenKorrektur erzwingen Normalerweise abgefangen (abstrakte Keys)Normalerweise abgefangen (abstrakte Keys)

Page 28: Wizards & Builders GmbH Fehlerbehandlung und Debugging Aufspüren und Behandeln von Programmfehlern unter Microsoft Visual FoxPro.

Wizards & Wizards & Builders GmbH Builders GmbH

Behandlung Trigger-Behandlung Trigger-FehlerFehler

Trigger versagtTrigger versagt TriggerartTriggerart TriggerlevelTriggerlevel immer problematischimmer problematisch

Freundliche Ausgabe für AnwenderFreundliche Ausgabe für Anwender ggf. RI-Fehlertexte ablegen und setzenggf. RI-Fehlertexte ablegen und setzen

Wiederholungsversuch nur bedingt Wiederholungsversuch nur bedingt sinnvollsinnvoll

Page 29: Wizards & Builders GmbH Fehlerbehandlung und Debugging Aufspüren und Behandeln von Programmfehlern unter Microsoft Visual FoxPro.

Wizards & Wizards & Builders GmbH Builders GmbH

Behandlung Behandlung AusgabefehlerAusgabefehler

BildschirmausgabeBildschirmausgabe Koordinatenfehler, FontproblemeKoordinatenfehler, Fontprobleme

DruckerausgabeDruckerausgabe Statusmeldungen weiterleiten und User fragenStatusmeldungen weiterleiten und User fragen

Speichern in DateiSpeichern in Datei Ggf. kein SpeicherplatzGgf. kein Speicherplatz

DatenübertragungDatenübertragung

Page 30: Wizards & Builders GmbH Fehlerbehandlung und Debugging Aufspüren und Behandeln von Programmfehlern unter Microsoft Visual FoxPro.

Wizards & Wizards & Builders GmbH Builders GmbH

Behandlung UserDefined-Behandlung UserDefined-FehlerFehler

In selbstdefinierten SQL-In selbstdefinierten SQL-Statements oder Ausgabeabfragen Statements oder Ausgabeabfragen ggf. ignorierenggf. ignorieren

notwendig: Modusflag für notwendig: Modusflag für Userabfragen und andere LowPrio-Userabfragen und andere LowPrio-AktivitätenAktivitäten ggf. globale Severity-Level-Variableggf. globale Severity-Level-Variable

Page 31: Wizards & Builders GmbH Fehlerbehandlung und Debugging Aufspüren und Behandeln von Programmfehlern unter Microsoft Visual FoxPro.

Wizards & Wizards & Builders GmbH Builders GmbH

Diverse ProblemeDiverse Probleme

Spezieller Trigger-Fehler in RI-Spezieller Trigger-Fehler in RI-DeleteDelete llRetVal=pnerror=0 verschieben llRetVal=pnerror=0 verschieben

Fehlerhafte Fehlermeldung Field-Fehlerhafte Fehlermeldung Field-ValidValid ??????

Fehler in SKIP-FOR-Klauseln in Fehler in SKIP-FOR-Klauseln in MenüsMenüs landen nicht in Fehlerbehandlung ...landen nicht in Fehlerbehandlung ...

Page 32: Wizards & Builders GmbH Fehlerbehandlung und Debugging Aufspüren und Behandeln von Programmfehlern unter Microsoft Visual FoxPro.

Wizards & Wizards & Builders GmbH Builders GmbH

Was ist zu beachten?Was ist zu beachten?

Kl. Tricks merkenKl. Tricks merken FehlerprotokollFehlerprotokoll Error-StrategieError-Strategie Behandlung von Behandlung von

StandardfehlernStandardfehlern Korrektur von kl. Korrektur von kl.

FoxPro-FehlernFoxPro-Fehlern

Page 33: Wizards & Builders GmbH Fehlerbehandlung und Debugging Aufspüren und Behandeln von Programmfehlern unter Microsoft Visual FoxPro.

Wizards & Wizards & Builders GmbH Builders GmbH

Vielen Dank!Vielen Dank!

Das waren die Themen:Das waren die Themen: Aufspüren von FehlernAufspüren von Fehlern

Assertions, Debuggen, Assertions, Debuggen, Debugger, Trace, Debugout, Debugger, Trace, Debugout, Breakpoints, Eventtracking, Breakpoints, Eventtracking, Coverage Profiler, Coverage Profiler, FehlerprotokollFehlerprotokoll

Behandeln von FehlernBehandeln von Fehlern

Auftreten von Fehlern, Auftreten von Fehlern, Fehlerbehandlung, Fehlerbehandlung, Fehlerinformation, Fehlerinformation, Fehlerreaktion/entscheidung, Fehlerreaktion/entscheidung, Kaskadieren, FehlerobjektKaskadieren, Fehlerobjekt

FehlerbereicheFehlerbereiche Dateien, Netz, Buffer, Dateien, Netz, Buffer,

Validierung, Trigger, Ausgabe, Validierung, Trigger, Ausgabe, UDF, DiverseUDF, Diverse

Page 34: Wizards & Builders GmbH Fehlerbehandlung und Debugging Aufspüren und Behandeln von Programmfehlern unter Microsoft Visual FoxPro.

Wizards & Wizards & Builders GmbH Builders GmbH

Wenn Fragen bestehen:Wenn Fragen bestehen:

Wizards & BuildersWizards & BuildersMethodische Software-Methodische Software-

Entwicklung GmbHEntwicklung GmbH

Frankfurter Str. 21bFrankfurter Str. 21b

61476 Kronberg61476 Kronberg

Tel.: 06173-950906Tel.: 06173-950906

Fax: 06173-950907Fax: 06173-950907

CIS: 101605,175CIS: 101605,175


Recommended