Debugging-Methode für C-Sprachprogramme
Das sogenannte Programm-Debugging bezieht sich auf die Fehlerprüfung und Fehlerbehebung des Programms.
Das Debuggen eines Programms sollte im Allgemeinen die folgenden Schritte durchlaufen:
Führen Sie zunächst eine manuelle Inspektion durch, also eine statische Inspektion.
Nachdem Sie ein Programm geschrieben haben, eilen Sie nicht zum Computer, sondern führen Sie eine manuelle Überprüfung des Programms durch. Dieser Schritt ist sehr wichtig, da er
die meisten Fehler erkennen kann, die durch Fahrlässigkeit des Programmierers verursacht wurden. Dieser Schritt wird oft von Leuten übersehen, die immer alles auf den Computer übertragen wollen, aber das wird mehr Maschinenzeit in Anspruch nehmen. Als Programmierer sollten Sie einen strengen Stil entwickeln, jeden Schritt streng kontrollieren und Probleme nicht dem überlassen Folgeprozess. (Empfohlenes Lernen:Video-Tutorial in C-Sprache)
Um die manuelle Inspektion effektiver durchzuführen, sollte das kompilierte Programm darauf abzielen, die folgenden Punkte zu erreichen:
① Die Programmierung sollte mit einer strukturierten Programmiermethode erfolgen, um die Lesbarkeit zu verbessern.
② Fügen Sie so viele Kommentare wie möglich hinzu, um die Rolle jedes Programms zu verstehen.
③ Schreiben Sie keine komplexen Programme Anweisungen in der Hauptfunktion, und nutzen Sie Funktionen stärker, indem Sie eine Funktion verwenden, um eine separate Funktion zu implementieren. Neben der Verwendung von
-Parametern zur Datenübertragung zwischen Funktionen sollten möglichst wenige Kopplungsbeziehungen vorhanden sein, damit diese separat überprüft und verarbeitet werden können.
2. Nachdem die manuelle Überprüfung korrekt ist, gehen Sie zum Debuggen auf den Computer.
Das Entdecken von Fehlern durch Computertests wird als dynamische Inspektion bezeichnet. Während der Kompilierung werden Informationen zu Syntaxfehlern bereitgestellt. Mithilfe der Eingabeaufforderungsinformationen können Sie die Fehler im Programm ermitteln und beheben. Es sollte
beachtet werden, dass der Ort, an dem der Fehler angezeigt wird, manchmal nicht der tatsächliche Fehlerort ist. Wenn Sie den Fehler in der Zeile, in der der Fehler angezeigt wird, nicht finden können, sollten Sie ihn in der vorherigen Zeile suchen . Manchmal ist die Art der Fehlermeldung nicht absolut korrekt. Da es viele Fehlersituationen gibt und verschiedene Fehler miteinander in Zusammenhang stehen, müssen Sie gut darin sein, die tatsächlichen Fehler zu analysieren und herauszufinden, anstatt nur im wörtlichen Sinne nach Fehlermeldungen zu suchen .
Wenn das System viele Fehlermeldungen ausgibt, sollten Sie diese einzeln von oben nach unten korrigieren. Manchmal werden umfangreiche Fehlerinformationen angezeigt, was den Leuten oft das Gefühl gibt, dass das Problem ernst ist und sie keine Möglichkeit haben, anzufangen. Tatsächlich kann es
nur ein oder zwei Fehler geben. Wenn beispielsweise eine verwendete Variable nicht definiert ist, wird während der Kompilierung eine Fehlermeldung an alle Anweisungen ausgegeben, die die Variable enthalten. Zu diesem Zeitpunkt werden alle Fehler behoben, solange eine Variablendefinition hinzugefügt wird.
3. Nach der Korrektur der Syntaxfehler (einschließlich „Fehler“ und „Warnung“) erhält das Programm durch Verknüpfung das ausführbare Zielprogramm. Führen Sie das Programm
aus und geben Sie die vom Programm benötigten Daten ein, um die Ergebnisse zu erhalten. Die Laufergebnisse sollten daraufhin analysiert werden, ob sie den Anforderungen genügen. Manche Anfänger denken, dass es kein Problem sei, wenn sie die Laufergebnisse ohne sorgfältige Analyse sehen, was gefährlich ist.
Manchmal sind die Daten komplex und es ist schwierig, sofort zu beurteilen, ob die Ergebnisse korrekt sind. Sie können vorab eine Reihe von „Testdaten“ berücksichtigen. Durch die Eingabe dieser Daten können Sie leicht feststellen, ob die Ergebnisse korrekt sind oder nicht. Wenn Sie beispielsweise die Gleichung ax2+bx+c=0 lösen und die Werte von a, b und c als 1, -2 bzw. 1 eingeben, ist der Wert der Wurzel x 1. Dies ist leicht zu beurteilen. Wenn die Wurzel nicht gleich 1 ist, ist das Programm offensichtlich falsch.
Bei Verwendung von „Testdaten“ sind die Ergebnisse der Programmausführung jedoch korrekt und es gibt keine Garantie dafür, dass das Programm vollständig korrekt ist. Denn es ist möglich, dass die Ergebnisse bei der Eingabe eines anderen Datensatzes falsch sind. Wenn Sie beispielsweise eine Formel verwenden, um den Wert der Wurzel zu ermitteln, wurde a=0 nicht verteidigt und pluralisiert. Daher sollten Sie jede Situation, auf die das Programm stoßen könnte, einzeln ausprobieren. Wenn die if-Anweisung beispielsweise zwei Zweige hat, ist es möglich, dass das Ergebnis des Programms beim Durchlaufen eines der Zweige korrekt ist, beim Durchlaufen des anderen Zweigs jedoch falsch. Alles muss bedacht werden. Wenn das Programm komplex ist, ist es tatsächlich schwierig, alle möglichen Situationen zu testen. Wählen Sie einfach typische kritische Daten zum Testen aus.
4. Die Laufergebnisse sind falsch, meist logische Fehler. Um solche Fehler aufzudecken, ist oft eine sorgfältige Prüfung und Analyse erforderlich. Die folgenden Methoden können verwendet werden:1. Vergleichen Sie das Programm sorgfältig mit dem Flussdiagramm. Wenn das Flussdiagramm korrekt ist, können Sie leicht feststellen, ob das Programm falsch ist. Wenn Sie beispielsweise vergessen haben, geschweifte Klammern in eine zusammengesetzte Anweisung zu schreiben, können Sie dies schnell finden, indem Sie sich das Flussdiagramm
ansehen.
2. Wenn Sie den Fehler wirklich nicht finden können, können Sie die Methode „Segmentinspektion“ verwenden. Richten Sie mehrere printf-Funktionsanweisungen an verschiedenen Stellen im Programm ein, um die Werte relevanter Variablen auszugeben, und überprüfen Sie sie
Abschnitt für Abschnitt. Bis sich herausstellt, dass die Daten in einem bestimmten Abschnitt falsch sind. Zu diesem Zeitpunkt wurde der Fehler auf diesen Absatz beschränkt. Durch kontinuierliches Verkleinern des „Fehlerprüfbereichs“ können Sie den Fehler finden.
3. Sie können auch den Befehl „Bedingte Kompilierung“ verwenden, um das Programm zu debuggen (während der Programm-Debugging-Phase werden mehrere printf-Funktionsanweisungen kompiliert und ausgeführt. Wenn das Debuggen abgeschlossen ist, werden diese Anweisungen
Muss nicht mehr kompiliert werden und wird nicht mehr ausgeführt. Diese Methode macht es überflüssig, printf-Funktionsanweisungen einzeln zu entfernen, um die Effizienz zu verbessern.
4. Wenn im Programm kein Problem gefunden wird, überprüfen Sie das Flussdiagramm auf Fehler, d. h., ob es Probleme mit dem Algorithmus gibt. Wenn ja, korrigieren Sie es und ändern Sie dann das Programm.
5. Einige Systeme bieten auch Debug-Tools, um Programme zu verfolgen und entsprechende Informationen bereitzustellen, die bequemer zu verwenden sind.
Kurz gesagt ist das Debuggen von Programmen eine detaillierte und gründliche Arbeit, die harte Arbeit, den Einsatz von Gehirn und die Ansammlung von Erfahrung erfordert. Der Prozess des Programm-Debuggens spiegelt oft das Niveau, die Erfahrung
und die Einstellung einer Person wider. Ich hoffe, dass jeder dem genügend Aufmerksamkeit schenkt. Der Zweck des Debuggens eines Programms auf einem Computer besteht niemals darin, „die Richtigkeit des Programms zu überprüfen“, sondern darin, „die Methoden und Techniken des Debuggens zu beherrschen“. Sie müssen lernen, Probleme selbst zu finden, damit Sie langsam praktische Programme schreiben können mit weniger Fehlern.
WeitereProgrammieranleitungenzur C-Sprache finden Sie auf der chinesischen PHP-Website.
Das obige ist der detaillierte Inhalt vonDebugging-Methode eines C-Sprachprogramms. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!