? Debuggen eines Programms bedeutet im Wesentlichen, Fehler zu finden und zu korrigieren. Ein "Bug" ist ein kleiner Fehler im Code , die Kündigung wegen einer Vielzahl von Faktoren könnte zu entziehen. Da Computerprogramme inzwischen so komplex sind, können auch die kleinsten Fehler große Probleme auf der ganzen Linie führen. Debuggen eines Programms in C beinhaltet die Verwendung einer Debugger Fang Fehler helfen. Allerdings ist ein Debugger nicht als Ersatz für einen Programmierer , wie man für und Trap Fehlern zu suchen weiß . Überprüfen Output
kleineren Programmen kann ein Programmierer wahrscheinlich bestimmte Ausgänge überprüfen , um festzustellen, ob das Programm korrekt Zustand bleibt während der Ausführung. In diesem Fall , Einfügen print-Anweisungen in einem Programm , um Variablen , die normalerweise nicht für den Benutzer sichtbar zeigen kann garantieren ein Programm funktioniert - oder bis zu welchem Punkt es vor dem Absturz funktioniert :
int i = 0;
intj ;
j = someFunction (i) //macht etwas Arbeit auf i und gibt einen Wert
printf ( "% d" , j) //print j sicherzustellen, j ist eine legitime Wert
C Debugger
Abhängig von der Entwicklungsumgebung sollte ein Programmierer haben Debugging -Software zur Verfügung, um jeden Code anzuwenden. Diese Programme ein Programm " durch zu gehen ", wie es läuft die Verfolgung von Variablen und Bedingungen bis ein Fehler auftritt . Wenn der Fehler auftritt, wird der Debugger zurück Informationen über den Fehler . Auch erlauben viele Debugger Programmierer Code Zeile für Zeile " über den Schritt " zu einer Zeit , so kann der Programmierer die Ausführung des Codes zu untersuchen. Für Linux-Systeme besitzen das GNU-Projekt Debugger ( GDB ) diese Funktionalität ( gnu.org /s /gdb ), während Windows-Programmierer den Debugger in Visual Studio ( Microsoft.com /express ) enthalten sind, verwenden kann .
Debugger und Haltepunkte
Debugging -Software verwendet die Idee der " Haltepunkte ", wo ein Programmierer ein Programm Mitte Ausführung beim Debuggen von Code Zustand bestimmen kann, zu stoppen. Zum Beispiel, wenn der Code unten stürzt irgendwann könnte der Programmierer nicht wissen, wo oder wann der Fehler aufgetreten ist
int i , j; .
I = getNumber ();
j = j + i;
j = modify (i, j) ;
Es könnte in der getNumber Funktion , die Funktion Ändern oder irgendwo aufgetreten früher im Hauptprogramm haben . Ein Haltepunkt können einen Ort, wo Code stoppt vor dem Fehler , so dass der Programmierer Bedingungen beurteilen können, bevor der Fehler auftritt.
Schreiten durch den Code
Complex Debugging kann es sich um werde Zeile für Zeile durch den Code . Nachdem der Programmierer identifiziert einen möglichen Fehlerort , kann er den Programmcode zeilenweise ausführen , die Verfolgung des Status des Programms , bis ein Fehler auftritt. Dies ermöglicht es dem Programmierer, die genaue Lage des Programms und Backtrack zu sehen, wo die Bedingungen der Fehler entstanden lokalisieren. In diesem Beispiel
i = getNumber ();
j = j + i;
j = modify (i, j) ;
wenn der Fehler passiert bei den "modify "-Funktion , dann kann der Programmierer ansetzen , und sie werden entdecken, dass "i" hat einen schlechten Wert von " getNumber " und damit beschädigt " ändern. "