Informatik I Debugging

Ähnliche Dokumente
Informatik I Debugging

Erster Bug: eine Motte

fungen Debugging Boris Tripolskij

Die Invaliden-Versicherung ändert sich

Was ist Sozial-Raum-Orientierung?

Wärmebildkamera. Arbeitszeit: 15 Minuten

1 Was ist das Mediencenter?

Pilot Drivers Package. Handbuch

Deutliche Mehrheit der Bevölkerung für aktive Sterbehilfe

Die Post hat eine Umfrage gemacht

Kommunikations-Management

Java-Tutorium WS 09/10

Lastenheft. Poker iphone App

Professionelle Seminare im Bereich MS-Office

Einführung in PHP. (mit Aufgaben)

Blumen-bienen-Bären Academy. Kurzanleitung für Google Keyword Planer + Google Trends

Was meinen die Leute eigentlich mit: Grexit?

Schnittstelle Drittmeldepflicht Ab ImmoTop

Beheben von verlorenen Verknüpfungen

Speichern. Speichern unter

1. Weniger Steuern zahlen

Quartalsabrechnung! " " " " " " " Stufe 1! Beheben von Abrechnungsfehlern" Stufe 2! Neue Abrechnung erstellen"

40-Tage-Wunder- Kurs. Umarme, was Du nicht ändern kannst.

9 Auto. Rund um das Auto. Welche Wörter zum Thema Auto kennst du? Welches Wort passt? Lies die Definitionen und ordne zu.

Berufsunfähigkeit? Da bin ich finanziell im Trockenen.

Eva Douma: Die Vorteile und Nachteile der Ökonomisierung in der Sozialen Arbeit

Version 0.3. Installation von MinGW und Eclipse CDT

Internet online Update (Internet Explorer)

TechNote: Exchange Journaling aktivieren

Programmierung von Konturzügen aus Geraden und Kreisbögen

Ohne Fehler geht es nicht Doch wie viele Fehler sind erlaubt?

Windows 8.1. In 5 Minuten Was ist alles neu? Word

~~ Swing Trading Strategie ~~

Stellen Sie bitte den Cursor in die Spalte B2 und rufen die Funktion Sverweis auf. Es öffnet sich folgendes Dialogfenster

Internet Explorer Version 6

ARCO Software - Anleitung zur Umstellung der MWSt

Windows 8. Der Task-Manager. Dieses Dokument kann frei verwendet werden. Keine Lizenzen, kein Copyright. Do what you want with it.

Entwicklung des Dentalmarktes in 2010 und Papier versus Plastik.

Bedienungsanleitung. Stand: Copyright 2011 by GEVITAS GmbH

Repräsentative Umfrage zur Beratungsqualität im deutschen Einzelhandel (Auszug)

Berichte über Stammdaten Klassen

Fotos verkleinern mit Paint

ftp://ftp.dlink.de/dpr/dpr-1061/documentation/dpr-1061%20printer%20compatible%20list.pdf

TTS - TinyTimeSystem. Unterrichtsprojekt BIBI

Grundbegriffe der Informatik

! " # $ " % & Nicki Wruck worldwidewruck

Einrichtung des Cisco VPN Clients (IPSEC) in Windows7

Auslesen der Fahrtdaten wiederholen Schritt für Schritt erklärt (Funktion Abfrage zur Datensicherung erstellen )

Lokale Installation von DotNetNuke 4 ohne IIS

Die Installation von D-Link WLAN Karten unter Windows Vista

Gimp Kurzanleitung. Offizielle Gimp Seite:

kurzanleitung modul debitoren

Erfahrungen mit Hartz IV- Empfängern

Das Leitbild vom Verein WIR

Was ich als Bürgermeister für Lübbecke tun möchte

DAUERHAFTE ÄNDERUNG VON SCHRIFTART, SCHRIFTGRÖßE

Informationen zum Ambulant Betreuten Wohnen in leichter Sprache

Wichtig ist die Originalsatzung. Nur was in der Originalsatzung steht, gilt. Denn nur die Originalsatzung wurde vom Gericht geprüft.

Hier finden Sie häufig gestellte Fragen und die Antworten darauf.

Dokumentation zum Spielserver der Software Challenge

Informatik 1 Tutorial

Die Industrie- und Handelskammer arbeitet dafür, dass Menschen überall mit machen können

In diesem Tutorial lernen Sie, wie Sie einen Termin erfassen und verschiedene Einstellungen zu einem Termin vornehmen können.

Installation OMNIKEY 3121 USB

D i e n s t e D r i t t e r a u f We b s i t e s

Nicht über uns ohne uns

Qt-Projekte mit Visual Studio 2005

Glaube an die Existenz von Regeln für Vergleiche und Kenntnis der Regeln

Adventskalender Gewinnspiel

Informationsblatt Induktionsbeweis

Arbeiten mit dem Outlook Add-In

Trackaufzeichnungen können als Active-Logs oder mit eigenen Namen versehene und auf max. 500 Punkte begrenzte Saved-Tracks gespeichert werden.

1. Einführung. 2. Weitere Konten anlegen

Bilder zum Upload verkleinern

Welche Rehakliniken sind so gestaltet, dass Menschen mit Behinderung sich dort aufgehoben fühlen?

Wie entsteht ein Tumor in der Brust? H.G. Meerpohl Frauenklinik St.Vincentius-Kliniken Karlsruhe

Die Captimizer BTZ-Datei 2015

Projektmanagement. Vorlesung von Thomas Patzelt 9. Vorlesung

Outlook 2000 Thema - Archivierung

Kurzanleitung Verwendung von USB-Sticks

Nokia Karten für S40 Bedienungsanleitung

4. AUSSAGENLOGIK: SYNTAX. Der Unterschied zwischen Objektsprache und Metasprache lässt sich folgendermaßen charakterisieren:

Meinungen zur Altersvorsorge

Benutzerkonto unter Windows 2000

Anleitung OpenCms 8 Webformular Auswertung

Programmieren was ist das genau?

NetStream Helpdesk-Online. Verwalten und erstellen Sie Ihre eigenen Tickets

Info zum Zusammenhang von Auflösung und Genauigkeit

Diplomarbeit. Konzeption und Implementierung einer automatisierten Testumgebung. Thomas Wehrspann. 10. Dezember 2008

Reinigen der Druckköpfe

Kfz-Versicherung für Fahranfänger. mit der Lizenz zum Fahren

Navigieren auf dem Desktop

Kommunikations-Management

Meldung Lokale Anwendung inkompatibel oder Microsoft Silverlight ist nicht aktuell bei Anmeldung an lokal gespeicherter RWE SmartHome Anwendung

Wichtige Forderungen für ein Bundes-Teilhabe-Gesetz

Europäischer Fonds für Regionale Entwicklung: EFRE im Bundes-Land Brandenburg vom Jahr 2014 bis für das Jahr 2020 in Leichter Sprache

Installation von Microsoft Visual C Express

Wie erreiche ich was?

Anleitung zum erfassen von Last Minute Angeboten und Stellenangebote

Transkript:

Der erste Computer-Bug Informatik I G. Zachmann Clausthal University, Germany zach@in.tu-clausthal.de Grace Hopper Admiral, US Navy 2 4 Folgen von Programmfehlern 1962 führte ein fehlender Bindestrich in einem Fortran-Programm zum Verlust der Venus-Sonde Mariner 1, welche über 80 Millionen US-Dollar gekostet hatte. Zwischen 1985 und 1987 gab es mehrere Unfälle mit dem Inkorrekte Division in manchen Fällen wegen unvollständiger Lookup-Tabellen Überdosis, die durch fehlerhafte Programmierung und fehlende Sicherungsmaßnahmen verursacht wurde, mussten Organe Orkan "Lothar": keine Vorwarnung entfernt werden, ein Patient verstarb drei Wochen nach der durch Wetterdienst Bestrahlung. Grund: ignorierter Ausreiser 1999: NASA-Sonde Climate Orbiter verpasst den Landeanflug auf den Mars, weil die Programmierer das falsche Maßsystem mehrere hundert Millionen Dollar teure Sonde. Millenium-Bridge in London: Falsche Anhnahmen über Fußgänger-Verhalten fehlerhafte Simulation verwendeten Yard statt Meter. Die NASA verlor dadurch die Grund: Konvertierung einer zu großen Zahl von 64-bit float nach 16-bit int 1994: "Pentium-Bug" medizinischen Bestrahlungsgerät Therac-25. Infolge einer 1996: Ariane-5 exlodierte 3 1

Programmfehler (oder Bugs) Syntaxfehler Ursache: Programmierfehler Fehler in der Laufzeitumgebung Unvollständigkeit, Mehrdeutigkeiten, Fehler in der Spezifikation Eine Regel besagt: Ab einer bestimmten Größe enthalten Computerprogramme auch immer Programmfehler Arten von Programmfehlern: Syntaxfehler Laufzeitfehler Designfehler Syntaxfehler sind Verstöße gegen grammatische Regeln der Programmiersprache N = 100 for i in range( 0, N ) while (N % i) == 0: print i N = N / i Solche Fehlern werden beim Versuch des Programmstarts von Python erkannt und gemeldet. Doppelpunkt vergessen 5 6 Laufzeitfehler (Semantische Fehler) Designfehler Programme mit Syntaxfehlern lassen sich nicht starten. Semantische Fehler sind dagegen Fehler, die die Bedeutung des Programmcodes betreffen Solche Fehler können das Programm zum Absturz bringen, das Programm friert ein (Endlosschleifen) oder verhält sich merkwürdig a = String print a[10] a besteht nur aus 6 Zeichen Designfehler sind Fehler im Grundkonzept einer Software Fehlerarten: Fehler in der Anforderungsdefinition / Spezifikation - Das Programm tut nicht das, was der Kunde wollte - beruhen meist auf mangelnder Kenntnis des Fachgebietes, für das die Software entwickelt wird Fehler im Softwaredesign - Das Programm läßt sich später nicht mehr verstehen / warten / verbessern - beruhen oft auf mangelnder Erfahrung des Softwareentwicklers 7 8 2

Vermeidung von Fehlern Debugger Je früher in einem Entwicklungsprozeß ein Fehler auftritt und je später er entdeckt wird, desto aufwendiger ist es, ihn zu beheben. Designfehler lassen sich oft durch gute Planung und Wahl eines geeigneten Softwaredesigns weitestgehend vermeiden Syntaktische Fehler erkennt meist der Compiler oder der Interpreter Beim Auffinden semantischer Fehler helfen (für bestimmte Fälle / Klassen von Fehlern) spezielle Programme Nicht immer sind semantische Fehler so einfach zu finden wie in dem Beispiel oben Deswegen hilft ein spezielles Programm, der sogenannte Debugger, dem Programmierer bei der Fehlersuche Ein Debugger ermöglicht die Ablaufverfolgung des Programms in einzelnen Schritten Mit Python wird ein Debugger mitgeliefert 9 10 Die Python-IDE Idle starten Das Menu Debugger wählen Auf Menüpunkt Debugger drücken Das Debugger-Fenster wird geöffnet 11 12 3

Das betreffende Programm mit Idle öffnen Im Debugger-Fenster sieht man den Stack, sowie die Werte der lokalen und globalen Variablen Und starten 13 14 Im Sourcecode-Fenster wird die aktuelle Position, an der der Debugger das Programm gerade hält, angezeigt Mit dem Step-Button kann man das Programm schrittweise weiter ausführen 15 16 4

Wenn man nur an bestimmten Stellen des Source interessiert ist kann man per Rechtsklick im Sourcecode-Fenster einen Breakpoint setzen und mittles -Taste im Debugger-Fenster bis zu dieser Stelle laufen lassen 17 5