Wie debugge ich ein Golang-Programm? Einführung in das Debugging-Tool

PHPz
Freigeben: 2023-04-09 13:30:02
Original
1228 Leute haben es durchsucht

Golang ist eine moderne Programmiersprache, die sich ideal für die Entwicklung effizienter, zuverlässiger, sicherer und leistungsstarker Anwendungen eignet. Bei der Entwicklung von Golang-Anwendungen ist es jedoch schwierig, Fehler und Probleme zu vermeiden. Um diese Probleme zu lokalisieren und zu lösen, müssen Debugging-Tools verwendet werden.

Zu den gängigen Tools zum Debuggen von Golang-Anwendungen gehören die folgenden:

  1. fmt-Paket: Dies ist das integrierte Paket von Golang zum Drucken von Debugging-Informationen. Es kann zum Drucken der Werte von Variablen, der Funktionsausführung und des Programmkontrollflusses verwendet werden. usw. Wenn Sie das FMT-Paket verwenden, müssen Sie dem Programm die Importanweisung „fmt“ hinzufügen und dann die Funktion fmt.Printf () an der Stelle aufrufen, die gedruckt werden soll.

Wenn Sie beispielsweise den folgenden Code zum Golang-Programm hinzufügen, wird der Wert der Variablen a ausgegeben:

package main

import "fmt"

func main() {
   a := 10
   fmt.Printf("a=%d\n", a)
}
Nach dem Login kopieren
  1. GDB: Dies ist ein universeller Debugger, der zum Debuggen von Anwendungen in mehreren Programmiersprachen, einschließlich Golang, verwendet werden kann. GDB ist ein Befehlszeilentool, das Golang-Anwendungen über die Befehlszeilenschnittstelle debuggen kann. Wenn Sie GDB verwenden, müssen Sie beim Kompilieren des Programms den Parameter -g hinzufügen, um Debugging-Informationen zu generieren. Führen Sie dann den Befehl gdb in der Befehlszeile aus und geben Sie die ausführbare Datei der Anwendung an, die Sie debuggen möchten.

Um beispielsweise die ausführbare Datei mit dem Namen „main“ in GDB zu debuggen, können Sie den folgenden Befehl ausführen:

$ gdb main
Nach dem Login kopieren

Als nächstes können Sie verschiedene Befehle von GDB zum Debuggen verwenden. Geben Sie beispielsweise „break main“ ein, um einen Haltepunkt am Eingang der Hauptfunktion festzulegen, geben Sie „run“ ein, um das Programm auszuführen, geben Sie „next“ ein, um eine Codezeile zu überspringen, und geben Sie „print variable name“ ein, um den Wert zu drucken der Variablen usw. .

  1. Delve: Dies ist Golangs offizieller Debugger und ein Befehlszeilentool, das zum Debuggen von Golang-Anwendungen verwendet werden kann. Im Vergleich zu GDB ist Delve einfacher zu verwenden und bietet mehr Funktionen und Features. Wenn Sie Delve verwenden, müssen Sie das Tool zuerst installieren. Sie können es mit dem Befehl „go get“ aus dem Internet herunterladen und installieren. Führen Sie nach Abschluss der Installation den Befehl dlv in der Befehlszeile aus und geben Sie die ausführbare Datei der Golang-Anwendung an, die debuggt werden soll.

Um beispielsweise eine ausführbare Datei namens main in Delve zu debuggen, können Sie den folgenden Befehl ausführen:

$ dlv exec main
Nach dem Login kopieren

Als nächstes können Sie verschiedene Befehle von Delve zum Debuggen verwenden. Geben Sie beispielsweise „break main.main“ ein, um einen Haltepunkt am Eingang der Hauptfunktion festzulegen, geben Sie „continue“ ein, um das Programm von der aktuellen Position aus weiter auszuführen, geben Sie „next“ ein, um eine Codezeile zu überspringen, und geben Sie „ „Variablennamen drucken“, um den Wert einer Variablen usw. zu drucken.

  1. Visual Studio Code: Dies ist eine moderne integrierte Entwicklungsumgebung (IDE), die zum Entwickeln und Debuggen von Anwendungen in mehreren Programmiersprachen, einschließlich Golang, verwendet werden kann. Wenn Sie Visual Studio Code zum Entwickeln von Golang-Anwendungen verwenden, können Sie den integrierten Debugger zum Debuggen des Programms verwenden. Um den Debugger verwenden zu können, müssen Sie dem Programm Debugging-bezogene Konfigurationsdateien hinzufügen und mit Visual Studio Code das Verzeichnis öffnen, in dem sich das Programm befindet. Verwenden Sie dann zum Debuggen die Debugging-Funktionen von Visual Studio Code.

Fügen Sie beispielsweise die Datei launch.json in das Verzeichnis ein, in dem sich das Golang-Programm befindet. Der Inhalt der Datei lautet wie folgt:

{
   "version": "0.2.0",
   "configurations": [
      {
         "name": "Launch",
         "type": "go",
         "request": "launch",
         "mode": "debug",
         "program": "${workspaceFolder}/main.go",
         "args": [],
         "env": {},
         "showLog": true
      }
   ]
}
Nach dem Login kopieren

Dann öffnen Sie das Verzeichnis mit Visual Studio Code und klicken Sie auf die Schaltfläche „Debuggen“, um das Debuggen zu starten das Programm. Während des Debugging-Prozesses können Sie verschiedene Debugging-Tools von Visual Studio Code verwenden, um die Werte von Variablen anzuzeigen, den Ausführungsfluss des Programms zu steuern usw.

Kurz gesagt, egal welches Debugging-Tool Sie verwenden, Sie müssen den Ausführungsfluss des Programms geduldig verfolgen und die Werte verschiedener Variablen und Zustände sorgfältig analysieren, um das Problem zu finden und zu lösen. Gleichzeitig müssen Sie Ressourcen wie Dokumente, Foren und Communities voll ausschöpfen, um umfassende Debugging-Erfahrung und -Fähigkeiten zu sammeln und so Golang-Anwendungen besser debuggen zu können.

Das obige ist der detaillierte Inhalt vonWie debugge ich ein Golang-Programm? Einführung in das Debugging-Tool. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!