• Keine Ergebnisse gefunden

Vorgehen bei Übersetzungsfehlern

N/A
N/A
Protected

Academic year: 2022

Aktie "Vorgehen bei Übersetzungsfehlern"

Copied!
4
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

© Andreas Rau, 14.11.03 D:\home\ar\fhte\vorlesungen\informatik1\folien\informatik1-praxis-debugging.sdd #1

Vorlesung Informatik 1

Fachhochschule für Technik Esslingen Studiengang Wirtschaftsinformatik

Debugging

Dr. rer. nat. Andreas Rau

http://www.fht-esslingen.de/~rau andreas.rau@fht-esslingen.de

(2)

© Andreas Rau, 14.11.03 D:\home\ar\fhte\vorlesungen\informatik1\folien\informatik1-praxis-debugging.sdd #2

Beim Debugging muss grundsätzlich nach der Fehlerart unterschieden werden:

Übersetzungsfehler (compile-time errors)

Fehler, die während der Übersetzung des Programms entdeckt werden (nicht:

fehlerhafte Übersetzung), typischerweise Syntaxfehler, z.B. vergessene oder falsche Klammern, aber auch semantische Fehler wie z.B. inkompatible Typen.

Übersetzungsfehler haben die angenehme Eigenschaft, dass der Compiler Sie alle findet uns mit detaillierten Fehlermeldungen bei ihrer Beseitigung hilft.

Laufzeitfehler (runtime errors)

Fehler, die auftreten während das Programm läuft, z.B. Programmabstürze oder falsche Berechnungen. Diese haben die lästige Eigenschaften, dass Sie nur unter bestimmten Bedingungen auftreten, z.B. beim verwenden einer fehlerhaften Funktion oder bei bestimmten Datenkonstellationen. Dies hat oft zur Folge, dass Sie schlecht reproduzierbar, lokalisierbar und korrigierbar sind. Um Sie zu finden sind i.d.R. detaillierte Kenntnisse des Programms notwendig.

Grundsätzliche Vorgehensweise(1)

(3)

© Andreas Rau, 14.11.03 D:\home\ar\fhte\vorlesungen\informatik1\folien\informatik1-praxis-debugging.sdd #3

Immer beim ersten Fehler beginnen

Manche der nachfolgenden Fehler sind Folgefehler, z.B. weil der Compiler nach einer falschen Klammer durcheinander kommt, und lösen sich mit Behebung des ersten Fehlers von selbst.

Fehlermeldungen lesen

Die Fehlermeldung gibt Art und Ort des Fehlers an. Sie sind zwar Englisch aber verständlich und nach etwas Übung "kennt man seine Pappenheimer"

Umzingeln durch Auskommentieren

Manche Fehler sind schwer zu finden. In diesem Fall empfielt es sich, großzügig Codebereiche auszukommentieren bis der Fehler verschwunden ist. Dann kann im zuletzt auskommentierten Bereich gezielt weitergesucht werden.

Am Besten ist es natürlich, Übersetzungsfehler von Anfang an durch vernünftiges Layout usw. zu vermeiden bzw. die Fehlersuche durch diese Maßnahmen zu unterstützen. Trotzdem ist niemand völlig vor Syntaxfehlern sicher – der Rechner ist einfach zu pingelig...

Vorgehen bei Übersetzungsfehlern

(4)

© Andreas Rau, 14.11.03 D:\home\ar\fhte\vorlesungen\informatik1\folien\informatik1-praxis-debugging.sdd #4

Fehler reproduzieren

Zunächst ist es wichtig, die Situation zu rekonstruieren, in der der Fehler auftritt.

Fehler analysieren

Welche Programmteile werden in der fehlerhaften Situation benötigt? Was könnte hier passieren? Durch solche Fragen läßt sich (bei Kenntnis des Programms) ein Fehler in vielen Fällen "im Trockendock" identifizieren. Oft handelt es sich um Leichtsinnsfehler (off-by-one) oder vergessene Sonderfälle.

Fehler suchen

Wenn die Analyse nicht hilft, muss der Fehler im Debugger oder durch gezielte Kontrollausgaben näher untersucht werden.

Fehler beheben Selbsterklärend ;-) Abnahmetest

Hoffentlich erfolgloser Versuch, den Fehler trotz Behebung zu reproduzieren.

Vorgehen bei Laufzeitfehlern

Referenzen

ÄHNLICHE DOKUMENTE

Es wird keine Haftung übernommen für Schäden durch die Verwendung von Informationen aus diesem Online-Angebot oder durch das Fehlen von Informationen.. Dies gilt auch für

Die Grundkonzeption des Buches wird uneingeschränkt beibehalten. Denn durch die chronologische Orientierung am Ablauf eines Verwaltungsverfahrens unterscheidet es sich von den

kann eine Exception, die nicht RuntimeException ist, in einer Methode auftreten, so muss dies deklariert werden. class NichtsFunktioniert extends Exception

• Falls also length[X] ⋅ W << 2 ist, dann rufen wir RekSubsetSum() häufig mit denselben Parametern

Anderseits darf ein Dolmetscher die Teilnähme an einer Konferenz verweigern, wenn das Thema seiner Überzeugung oder seinen persönlichen Interessen zuwiderläuft oder seine Fähigkeiten

Er sezt sich ans Fenster, schaut hinaus und ruft alle zwei Minuten: «Das grüne nach oben!» Der Kellner fragt ihn besorgt, ob es ihm nicht gut gehe.. Darauf der Gärtner:

˚ Entwickeln Sie dann mit Ihren Schülern schrittweise word webs zu den eingeteilten Feldern an der Tafel. ˚ Besonders effektiv ist es, wenn die Erarbeitung mit einer

Als die geeignetsten Werte haben wir die aus allen Angaben gewonnenen Resultate genommen, und auf diese Weise den m ittleren zufälligen Fehler berechnet. Wird