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

Slides:



Advertisements
Ähnliche Präsentationen
Object Relational Mapping
Advertisements

der Universität Oldenburg
C Tutorium – Fehlerbehandlung – Knut Stolze. 2 Grundsatz Also ist auch nach jedem Funktionsaufruf auf Fehler zu prüfen!! Jeder(!) Funktionsaufruf kann.
Was ist neu in VS 2003 ? Ein Überblick. Bernd Marquardt Software & Consulting
MySQL.
Ausnahmen HS Merseburg (FH) WS 06/07.
SQL als Abfragesprache
IS: Datenbanken, © Till Hänisch 2000 CREATE TABLE Syntax: CREATE TABLE name ( coldef [, coldef] [, tableconstraints] ) coldef := name type [länge], [[NOT]NULL],
Oracle PL/SQL Server Pages (PSP). © Prof. T. Kudraß, HTWK Leipzig Grundidee: PSP – Internet-Seiten mit dynamischer Präsentation von Inhalten durch Einsatz.
Einführung in Visual C++
Einführung MySQL mit PHP
Wizards & Builders GmbH Erstellen von Applikationen Erstellen von Datenbank- Applikationen unter Microsoft Visual FoxPro.
Wizards & Builders GmbH Der Maskendesigner Design von Masken für Applikationen unter Microsoft Visual FoxPro.
Client / Server Architektur
Wizards & Builders GmbH Der Menügenerator Arbeiten mit dem Menügenerator und ggf. Zusatztools unter Microsoft Visual FoxPro.
Wizards & Builders GmbH Hypertext Markup Language Beschreibung von HTML als Vorbereitung für Webserver mit Microsoft Visual FoxPro.
Wizards & Builders GmbH ActiveX-Controls Verwendung und Einsatz von ActiveX-Controls unter Microsoft Visual FoxPro.
Wizards & Builders GmbH INI-Dateien und Registry Arbeiten mit der Registry von Windows NT / Windows 95 in Microsoft Visual FoxPro.
Arbeiten mit DBC in Visual FoxPro 9.0 deutschsprachige FoxPro User Group Rainer Becker Microsoft Visual FoxPro 9.0 WebCast DBC.
Datenbankcontainer in Microsoft Visual FoxPro
Konfiguration / Set-Einstellungen
Wizards & Builders GmbH Schichtenarchitektur Multi-Tier-Applikationen mit Microsoft Visual FoxPro.
Datenmodellierung mit XCASE
Wizards & Builders GmbH Microsoft Titel Microsoft-Titel für Entwickler und Softwarehäuser.
Wizards & Builders GmbH Klassenbibliotheken Arbeiten mit Klassenbibliotheken in Microsoft Visual FoxPro.
Wizards & Builders GmbH Die Benutzeroberfläche Interaktives Arbeiten mit den Werkzeugen/Assistenten von Microsoft Visual FoxPro.
Wizards & Builders GmbH Programmierstil Hinweise zum Programmierstil unter Microsoft Visual FoxPro.
Arbeiten mit SQL in Visual FoxPro 9.0
Wizards & Builders GmbH Arbeiten mit CSV-Listen Arbeiten mit CSV-Listen unter Microsoft Visual FoxPro.
Wizards & Builders GmbH OOP in der Praxis Die wichtigsten Befehle für OO-Programmierung mit Microsoft Visual FoxPro.
Wizards & Builders GmbH Übersicht Schulung Übersicht über Schulung für Entwickler unter Microsoft Visual FoxPro.
Wizards & Builders GmbH Schulungsmaterial Material zu Programmierung und Datenbankhandling unter Microsoft Visual FoxPro.
Wizards & Builders GmbH Tools, AddOns, Frameworks Nützliche Zusatzprodukte rund um Microsoft Visual FoxPro.
Wizards & Builders GmbH Distribution von Applikationen Distribution und Installation unter Microsoft Visual FoxPro.
Ausbildungsinhalte für „Fachinformatiker Anwendungsentwicklung“
Wizards & Builders GmbH Modularisierung von SW Modularisierung von Anwendungen mit Microsoft Visual FoxPro.
Bidirektionales VFX-XML-Interface für Daten-Import/Export Visual Extend Anwendertreffen 2009 Rainer Becker, Frank Kropp deutschsprachige FoxPro User Group.
VFP Beispiele sowie Tools, Frameworks und Klassen
Neue DBF und DBC Befehle in Visual FoxPro
Lokal Views (Ansichten) in Visual FoxPro
Der VFP Debugger - Coverage und Profiling. © 1999 TMN-Systemberatung GmbH Der VFP Debugger n Neues Aussehen, eigene Task n Erweiterte Möglichkeiten n.
Was ist neu in VFX 9.5 im 2. Quartal 2006? Uwe Habermann Visual Extend Product Manager
Visual FoxPro Objektorientierte Programmierung. © 1999 TMN-Systemberatung GmbH Grundbegriffe n Objekte n Eigenschaften n Methoden n Objektnamen n Klasse.
Arbeiten mit SQL in Visual FoxPro 9.0 deutschsprachige FoxPro User Group Rainer Becker Microsoft Visual FoxPro 9.0 Roadshow SQL.
Einführung zur Roadshow zu Visual FoxPro 9.0 deutschsprachige FoxPro User Group Rainer Becker Microsoft Visual FoxPro 9.0 Roadshow INTRO.
Eingangsfrage Ordnen Sie die nachfolgenden MCP-Tests in einer sinnvollen Reihenfolge zur Erlangung des MCSD (Microsoft Certified Solution Developer): A)
Wizards & Builders GmbH Schulung Visual SourceSafe für Visual FoxPro Norbert Abb W&B.
VFX 9.0 Teil 2 Diverse Prototypen und Ideen für die Weiterentwicklung von VFX.
Visual Extend 9.5ff Most Wanted Features deutschsprachige FoxPro User Group Rainer Becker VFXWISH06.
Netzwerkprogrammierung unter Visual FoxPro. © 1999 TMN-Systemberatung GmbH Probleme im Netzbetrieb n Mehrere Benutzer arbeiten auf den gleichen Datensatz.
Error Handling unter Visual FoxPro. © 1999 TMN-Systemberatung GmbH ON ERROR n ON ERROR DO ERRHAND WITH error(), sys(16), message(), lineno(1) – Globales.
VFP Class Browser. © 1999 TMN-Systemberatung GmbH Einsatz des Class Browser n Managen von Klassen inklusive, ändern, umbenennen, löschen und umdefinieren.
Uwe Habermann VFX 11.0 Profi Features Venelina Jordanova
Debugging, Logging, Monitoring, Tools
Betrieb von Datenbanken Marco Skulschus & Marcus Wiederstein Datenmanipulation Lehrbuch, Kapitel 4.
Einführung in die Programmierung Wintersemester 2008/09 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund.
Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) (Vorlesung) Prof. Dr. Günter Rudolph Fachbereich.
Visual Extend CPickField Builder deutschsprachige FoxPro User Group Uwe Habermann VFX 13 D.
HORIZONT 1 XINFO ® Das IT - Informationssystem PL/1 Scanner HORIZONT Software für Rechenzentren Garmischer Str. 8 D München Tel ++49(0)89 / 540.
Datenbankanbindung mit
Project Hooks und _VFP Möglichkeiten. © 1999 TMN-Systemberatung GmbH Aufbau des Objekt Modells für Applications und Projects.
Semantische Integritätsbedingungen  AIFB SS trigger-Klausel (2/5) Beispiel 3-5: Angestellter: (Ang-Nr, Ang-Name, Gehalt,Familienstand, Abt-Bez).
1 Tagesüberblick 5 Lösung Hausaufgabe/Fragen Assoziative Felder Funktionen zu Variablenbehandlung.
C Tutorium – Debugging & Tracing – Knut Stolze. 2 Agenda Debugging & Debugger Tracing.
PHPmyadmin Maya Kindler 6c.
Datenbanken erstellen mit PostgreSQL
Reorganisation und Administration großer SAP-DB Manfred Riemer SAP AG (z.B. MCOD-Systeme)
SAS Backstage Biljana Gigić1, Andreas Deckert2
VFP-Praxis Reparatur von VFP Datenbanken
Dipl.-Inform. Uwe Habermann
 Präsentation transkript:

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

Wizards & Builders GmbH Diese Schulung dient der Einführung in das Aufspüren und Behandeln von Fehlern in Anwenden unter Microsoft Visual FoxPro

Wizards & Builders GmbH Themenübersicht Aufspüren von Fehlern Aufspüren 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

Wizards & Builders GmbH Aufspüren von Fehlern Arbeiten mit dem Debugger, Coverage Profiler, Assertions in Microsoft Visual FoxPro

Wizards & Builders GmbH Assertions SET ASSERT ON SET ASSERT ON ASSERT MESSAGE ASSERT MESSAGE Performanter als Parameterprüfung auf allen Vererbungs- ebenen... Performanter als Parameterprüfung auf allen Vererbungs- ebenen... Systemfunktionen! Systemfunktionen!

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 zurückgesetzt! Achtung: Diverse SETs werden zurückgesetzt!

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, Ereignisüberwachung, Protokoll Haltepunkte, Ereignisüberwachung, Protokoll

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

Wizards & Builders GmbH Debugout DEBUGOUT Text DEBUGOUT Text Anzeige im Debugout-Fenster im Debugger Anzeige im Debugout-Fenster im Debugger Trick für Debugging mit Debugout: Trick für Debugging mit Debugout: #DEFINE DEBUGOUT NOTE #DEFINE DEBUGOUT NOTE

Wizards & Builders GmbH Breakpoints Möglichkeiten im Breakpoint-Fenster: Location Location Location und Expression Location und Expression Expression Expression Expression Changed Expression Changed Pass Counter! Pass Counter!

Wizards & Builders GmbH Eventtracking SET EVENTTRACKING ON SET EVENTTRACKING ON SET EVENTLIST TO SET EVENTLIST TO

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

Wizards & Builders GmbH Fehlerprotokoll Protokolldatei für Fehlermeldungen Protokolldatei für 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 Ggf. Versand per Zippen und anlegen, ggf. bei nächstem Start Zippen und anlegen, ggf. bei nächstem Start

Wizards & Builders GmbH Behandeln von Fehlern Abfangen und Behandeln von allgemeinen/Objekt-Fehlern unter Microsoft Visual FoxPro

Wizards & Builders GmbH Auftreten von Fehlern Programmcode Programmcode Menücode Menücode 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

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

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!

Wizards & Builders GmbH Fehlerreaktionen RETRY RETRY RETURN RETURN RETURN TO RETURN TO RETURN TO MASTER RETURN TO MASTER CANCEL CANCEL QUIT QUIT

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

Wizards & Builders GmbH Kaskadieren von Fehlern Alternative: Weiter-leitung an Parent Parent suchen Parent suchen Auswertung Rückgabe-wert Auswertung Rückgabe-wert

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)

Wizards & Builders GmbH Fehlerbereiche Typische Fehlerbereiche und die jeweilige Fehlerbehandlung unter Microsoft Visual FoxPro

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

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

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

Wizards & Builders GmbH Behandlung Buffer-Fehler Datensatz während Löschen von anderem Anwender geändert Datensatz während Löschen von anderem Anwender geändert Datensatz während Änderung von anderem Anwender geändert Datensatz während Änderung von anderem Anwender geändert siehe Conflict Catcher (Comp.Galery) siehe Conflict Catcher (Comp.Galery) Feldweise Updaten oder Neuerfassung Feldweise Updaten oder Neuerfassung

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 (?) Primärschlüssel / Candidate-Schlüssel Primärschlüssel / Candidate-Schlüssel Korrektur erzwingen Korrektur erzwingen Normalerweise abgefangen (abstrakte Keys) Normalerweise abgefangen (abstrakte Keys)

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

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 Datenübertragung Datenübertragung

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

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 Menüs Fehler in SKIP-FOR-Klauseln in Menüs landen nicht in Fehlerbehandlung... landen nicht in Fehlerbehandlung...

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

Wizards & Builders GmbH Vielen Dank! Das waren die Themen: Aufspüren von Fehlern Aufspüren 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

Wizards & Builders GmbH Wenn Fragen bestehen: Wizards & Builders Methodische Software- Entwicklung GmbH Frankfurter Str. 21b Kronberg Tel.: Fax: CIS: ,175