WikiDer > Debug

Debuggen
Finsternis mit einem Programm, das an einem Haltepunkt angehalten wurde.

Debuggen ist die Erkennung und Abhilfe von Fehler im Computerprogramme und elektronisch Hardware-.

Verwendete Techniken

Für das Debugging von Software wurden spezielle Programme entwickelt, Debugger namens. Mit diesen Programmen können die Programmierer die Umsetzung der Code schau mal genauer vorbei Haltepunkte to place: An einem Breakpoint wird die Ausführung gestoppt, damit der Programmierer den Wert von . ändert Variablen überprüfen oder ändern können. Sie können auch Variablen in einem Debugger anzeigen, um zu sehen, wie sich der Wert während des Programms ändert. Der Begriff „Debugger“ bezieht sich auch auf die Person, die das Debuggen durchführt.

In einfachen Situationen kann der Programmierer den Wert von Variablen auf dem Bildschirm anzeigen, indem er dem Quellcode Anweisungen hinzufügt. Mit diesen Anweisungen kann der Programmierer den Wert von Variablen auf dem Bildschirm ablesen, während das Programm läuft. Dieser Ansatz wird normalerweise nur verwendet, wenn nur wenige Variablen auf dem Bildschirm angezeigt werden müssen; bei vielen Variablen oder Variablen, die sich regelmäßig ändern, kann diese Methode verwirrend werden.

Eine einfache Möglichkeit, den Effekt eines Codes zu bestimmen, besteht darin, auskommentieren (im Kommentar Platz) und führen Sie dann das Programm aus. Durch systematisches Kommentieren oder Nicht-Kommentieren von Codeteilen wird versucht, den Fehler zu lokalisieren.

Es verwendet auch Programme, die statische Codeanalyse lauffähig: Diese Programme erkennen bestimmte Fehlersituationen, indem sie den Quellcode eines Programms analysieren. Diese Programme prüfen nicht die Syntax des Quellcodes, sondern mehr der Semantik. Diese Programme können falsch positiv Ergebnisse liefern, da sie nicht nach Fehlern suchen, sondern nach Situationen, die wahrscheinlich nicht so beabsichtigt sind. Es gibt kommerzielle und kostenlose statische Codeanalyseprogramme für eine Vielzahl von Programmiersprachen. Diese Programme sind besonders nützlich für große Softwareprojekte, bei denen eine manuelle Überprüfung des Quellcodes unmöglich wäre.

hohes LevelProgrammiersprachen, wie z Java, enthalten oft Funktionen, die das Auffinden von Fehlern erleichtern, wie z Ausnahmen werfen. Im niedriges NiveauProgrammiersprachen, wie z Versammlung und C, Fehler können subtile Fehler verursachen, wie z Pufferüberlauf oder Speicherlecksdie schwer nachzuvollziehen sind.

Ansatz

Das Debuggen beginnt normalerweise damit, den Fehler zu reproduzieren, indem eine Situation gefunden wird, in der der Fehler auftritt, beispielsweise bestimmte Einstellungen oder Werte einer Variablen. In komplizierten Systemen kann es schwierig sein, eine solche Situation zu finden. Der Fehler kann auch durch lokale Einstellungen oder Dateien auf einem System verursacht werden, die es demselben Programm ermöglichen, auf einem anderen System zu arbeiten.

Nachdem eine Situation gefunden wurde, in der das Problem auftritt, wird versucht, diese Situation zu vereinfachen, um das Auffinden des Fehlers zu erleichtern. Eine solche vereinfachte Situation, in der ein Fehler auftritt, heißt a Testfall B. eine Datei oder eine Liste von Aktionen. Ein Fehler in a Compiler kann beispielsweise auftreten, wenn versucht wird, eine große Datei herunterzuladen analysieren; In einem solchen Fall prüft der Programmierer, ob der Fehler beim Extrahieren von Teilen dieser großen Datei immer noch auftritt. Eine kleinere Datei ist einfacher zu handhaben und zu analysieren, was das Auffinden des Fehlers erleichtert. Beim Debuggen der grafische Benutzeroberfläche eines Programms kann der Programmierer bestimmte Aktionen überspringen, um zu sehen, ob die restlichen Aktionen auch ausreichen, damit der Fehler auftritt.

Der Programmierer oder das Team von Softwareentwicklern kann auch einen Testfall anfordern, wenn Benutzer einen Fehler melden. Es wird an die Beschreibung des Fehlers im angehängt Bug-Tracker, ein System, um klar zu erkennen, welche Fehler behoben wurden und welche noch nicht.

Nach Vereinfachung der Situation kann der Programmierer den Fehler mit einer der beschriebenen Techniken lokalisieren. Sobald die Ursache des Problems gefunden ist, kann der Programmierer eine Lösung für das Problem finden und implementieren.

Geschichte

Debugging kommt ursprünglich von 'einem Fehler' oder 'einer Motte'. Das stammt aus der Zeit, als Computer noch mit ausgestattet waren Relais. Diese Relais kamen oft aus der Telefonindustrie und waren nicht in ein Gehäuse gekapselt. Dadurch konnten sich kleine Ungeziefer wie Fliegen oder Motten zwischen den Kontakten des Relais einnisten. Dies führte zu Störungen. Die Fehlersuche bestand darin, diese Störungen zu finden und die Schädlinge zu entfernen. Aus diesem Grund ist der Begriff „Debugging“ oder „Entfernen des Fehlers“ entstanden und ist noch immer in den technischen Begriffen der Programmierung verankert. sehen Fehler für eine umfassendere Geschichte.

Siehe auch