Der Zweck des Software-Debuggings besteht darin, Fehler zu korrigieren. Unter Software-Debugging versteht man den Prozess des manuellen Testens des vorbereiteten Programms oder durch Kompilieren des Programms, um grammatikalische und logische Fehler zu korrigieren, bevor es tatsächlich in Betrieb genommen wird. Dies ist ein unverzichtbarer Schritt, um die Korrektheit des Computerinformationssystems sicherzustellen.
Die Betriebsumgebung dieses Tutorials: Windows 7-System, Dell G3-Computer.
Der Zweck des Software-Debuggens besteht darin, Fehler zu korrigieren.
Software-Debugging bezieht sich im Allgemeinen auf den Prozess des Reproduzierens von Softwarefehlern, des Lokalisierens und Findens der Grundursache des Problems und schließlich der Lösung des Problems. Beim Software-Debuggen gibt es normalerweise die folgenden zwei unterschiedlichen Definitionen:
Definition 1:
Beim Software-Debuggen geht es darum, Fehler in Softwareprogrammen zu entdecken und zu beseitigen. Der Ausführungsprozess des debuggten Programms kann durch eine Methode gesteuert werden, sodass es angezeigt werden kann und Methode zum Ändern des Ausführungsstatus des debuggten Programms. In dieser Definition ist das Testen von Software Teil des Software-Debuggings, ähnlich der Definition des Debuggens im Oxford Dictionary. Die Definition von Debuggen im Oxford Dictionary lautet: „Der Prozess der Identifizierung und Beseitigung von Fehlern in Computerhardware oder -software.“
Definition 2:
Debuggen ist die Arbeit, die nach der Durchführung eines erfolgreichen Tests durchgeführt werden muss. Durch das sogenannte erfolgreiche Testen kann nachgewiesen werden, dass das Programm nicht die erwarteten Funktionen erfüllt. Das Debuggen besteht aus zwei Schritten: Der erste Schritt besteht darin, die genaue Art und Position verdächtiger Fehler im Programm zu ermitteln. In dieser Definition ist das Testen von Software von der Debugging-Arbeit getrennt.
Software-Debugging ist der Prozess des manuellen Testens des kompilierten Programms oder durch Kompilieren des Programms, um grammatikalische und logische Fehler zu korrigieren, bevor es in den tatsächlichen Betrieb überführt wird. Dies ist ein wesentlicher Schritt, um die Korrektheit von Computerinformationssystemen sicherzustellen. Nachdem das Computerprogramm kompiliert wurde, muss es zum Testen an den Computer gesendet werden. Basierend auf den während des Tests gefundenen Fehlern wird eine weitere Diagnose durchgeführt, um die Ursachen und konkreten Korrekturstellen herauszufinden.
Der Begriff Debuggen kann viele verschiedene Bedeutungen haben, im wahrsten Sinne des Wortes bedeutet er jedoch das Entfernen von Fehlern, Ausnahmen und Bugs aus Ihrem Code. Nun gibt es viele Möglichkeiten, dies zu tun. Sie können beispielsweise Fehler beheben, indem Sie den Code auf Tippfehler scannen oder einen Codeanalysator verwenden. Sie können den Leistungsprofiler zum Debuggen Ihres Codes verwenden. Alternativ können Sie zum Debuggen einen Debugger verwenden.
Gemäß Definition 1, Der Grundprozess Das Debuggen von Softwaresystemen erfolgt wie folgt: Verwenden Sie ein Bearbeitungsprogramm, um das kompilierte Quellprogramm in einem bestimmten Schreibformat an den Computer zu senden. Das Bearbeitungsprogramm bearbeitet das Quellprogramm entsprechend den Absichten des Benutzers. Übersetzen Sie das eingehende Quellprogramm in Maschinensprache, dh verwenden Sie einen Compiler, um die Grammatik des Quellprogramms zu überprüfen und die Quellprogrammanweisungen, die den grammatikalischen Regeln entsprechen, in eine „Sprache“ zu übersetzen, die der Computer erkennen kann. Wenn nach der Überprüfung durch den Compiler Grammatikfehler gefunden werden, müssen Sie die Grammatikfehler im Quellprogramm mit einem Bearbeitungsprogramm ändern und dann erneut kompilieren, bis keine Grammatikfehler mehr vorhanden sind. Verwenden Sie das Verbindungsprogramm im Computer, um die übersetzten Computersprachenprogramme zu verbinden und sie in ein Programm zu integrieren, das der Computer tatsächlich ausführen kann. Während des Verbindungsvorgangs treten im Allgemeinen keine Verbindungsfehler auf. Wenn ein Verbindungsfehler auftritt, liegt ein Problem wie Verwirrung beim Aufruf von Unterprogrammen oder Fehler bei der Parameterübertragung im Quellprogramm vor. Zu diesem Zeitpunkt müssen Sie das Quellprogramm mit einem Bearbeitungsprogramm ändern und es dann kompilieren und verbinden. Dies wird wiederholt, bis keine Verbindungsfehler mehr vorliegen. Führen Sie eine Probeberechnung des geänderten Programms durch. Zu diesem Zeitpunkt können Sie mehrere simulierte Daten für einen Probelauf annehmen und die Ausgabeergebnisse mit den korrekten Ergebnissen der manuellen Verarbeitung vergleichen. Wenn es einen Unterschied gibt, deutet dies darauf hin, dass im Computerprogramm ein logischer Fehler vorliegt. Wenn das Programm nicht groß ist, können Sie den Computer mit manuellen Methoden simulieren, um diese Daten des Quellprogramms zu ändern und zu verarbeiten. Wenn das Programm relativ groß ist, funktioniert die manuelle Simulation zu diesem Zeitpunkt offensichtlich nicht Computer zur Einzelschrittausführung, Schrittverfolgung der Programmausführung in einem Schritt. Sobald das Problem gefunden ist, muss das Quellprogramm noch mit einem Bearbeitungsprogramm geändert und anschließend so lange kompiliert, verknüpft und ausgeführt werden, bis keine logischen Fehler mehr vorliegen. Sie können es auch nach der Fertigstellung kompilieren. Gemäß Definition 2 ist der grundlegende Prozess des Softwaresystem-Debuggens wie folgt: Reproduzieren des Problems Behebung des durch Softwaretests entdeckten Problems ; Problemort: Bestimmen Sie den Ort des Programmsegments, in dem das Problem auftreten kann; Ursache finden: Analysieren den relevanten Code und bestimmen Sie die Ursache. Die innere Natur des Fehlerproblems. Grund; Ändern Sie den Code: Ändern Sie den Programmcode gemäß dem Entwurfsplan ob Fehler beseitigt wurden und ob neue Fehler hinzugekommen sind. Die oben genannten 6 Schritte werden iterativ fortgesetzt, bis das Problem gelöst ist. Der grundlegende Prozess des Software-Debuggens ist in Abbildung 1 dargestellt: In diesen Schritten sind die Problemlokalisierung und das Finden der Ursache die Schlüsselaspekte des Software-Debuggens , und ihre Arbeit Der Betrag macht mehr als 90 % des gesamten Arbeitsaufwands aus. Das Debuggen von Software ist eine zeitaufwändige, mühsame und anspruchsvolle Aufgabe. Derzeit gibt es viele Studien zur Problemlokalisierung beim Software-Debugging. Es ist ersichtlich, dass der Prozess der Definition eins besser für unsere tägliche Entwicklungs- und Testarbeit geeignet ist, während der Prozess der Definition zwei besser für unsere Tests geeignet ist, insbesondere für die Arbeit im Zusammenhang mit der Problemlösung nach der Veröffentlichung oder dem Start der Software.
Grundlegende Funktionen des Software-Debuggings
Erfordert, dass Debugger über fundierte grundlegende Computerkenntnisse (einschließlich Betriebssysteme, Entwicklungssprachen, Tools usw.) und Kenntnisse im Bereich Geschäftsproblemdomänen verfügen.
Ob es schwierig ist oder nicht, erkennt man an der „umfangreichen Korrelation“. Natürlich hängt es auch von den spezifischen Problemen und der Qualität des Debuggers ab die gesamte Softwarearchitektur und das Codeverständnis.
Klassifiziert nach der Systemumgebung des Debugging-Ziels: Software-Debugging unter Windows, Software-Debugging unter Linux, Software-Debugging unter DOS usw.
Entsprechend der Ausführungsmethode des Ziels Code:
entsprechend dem Ausführungsmodus des Zielcodes: Debuggen im Benutzermodus, Debuggen im Kernelmodus
In Multitasking-Betriebssystemen wie Windows als grundlegende Maßnahme zur Gewährleistung Für Sicherheit und Ordnung definiert das System zwei Ausführungsmodi, nämlich den Benutzermodus mit niedriger Berechtigung (Benutzermodus) und den Kernelmodus (Kernelmodus) mit hoher Berechtigung.
Anwendungscode wird im Benutzermodus ausgeführt, und der Kernel, der Ausführungskörper und die meisten Gerätetreiber des Betriebssystems werden im Kernelmodus ausgeführt.
Je nach der relativen Position des Debuggers und des Debugging-Ziels: lokales Debugging, Remote-Debugging
Das obige ist der detaillierte Inhalt vonWas ist der Zweck des Software-Debuggings?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!