Heim  >  Artikel  >  Backend-Entwicklung  >  Lassen Sie uns über die Debugging-Tools von Golang sprechen

Lassen Sie uns über die Debugging-Tools von Golang sprechen

PHPz
PHPzOriginal
2023-03-31 10:24:44958Durchsuche

Als Golang-Softwareentwickler stehen wir alle vor diesem Problem: Wenn bei der Ausführung Ihres Golang-Codes ein Problem auftritt, wie können wir die Grundursache herausfinden? In diesem Artikel werden wir die Debugging-Tools von Golang untersuchen und erfahren, wie wir sie verwenden können, um Probleme schnell zu lokalisieren.

  1. GDB Debugger

GDB ist ein leistungsstarker Debugger, der für viele Programmiersprachen wie C/C++, Golang usw. verwendet werden kann. In Golang können wir GDB verwenden, um den Code zu verfolgen und zu debuggen. Hier sind einige grundlegende GDB-Befehle:

  • Haltepunkt setzen: break main.main
  • Ausführung fortsetzen: continue
  • Ausführung fortsetzen: continue
  • Einzelschrittausführung: Schritt
  • Einzelschrittausführung (ohne Eingabe der Funktion): weiter
  • Variablenwert anzeigen: p-Variablenname

Das Folgende ist ein einfaches Beispiel, das zeigt, wie GDB zum Debuggen von Golang-Programmen verwendet wird.

Zuerst müssen wir einen Haltepunkt in das Programm einfügen, fügen Sie ihn einfach in die Hauptfunktion ein. Verwenden Sie dann im Programmverzeichnis, das debuggt werden muss, den folgenden Befehl, um unser Programm zu starten:

$ gdb ./main
GNU gdb (GDB) 7.6.2
...
Symbole aus /home/user/ lesen Documents/go /src/debugging/main...done.
(gdb) break main.main
Haltepunkt 1 bei 0x4012b4: Datei /home/user/Documents/go/src/debugging/main.go, Zeile 5.
(gdb) run

Wenn das Programm bis zum von uns festgelegten Haltepunkt ausgeführt wird, wird das Programm zum Debuggen angehalten. Zu diesem Zeitpunkt können wir andere GDB-Befehle verwenden, um Variablen und andere Debugging-Informationen anzuzeigen.

  1. Delve

go-delve ist ein leistungsstarker Debugger, der zum Debuggen von Golang-Programmen verwendet werden kann. Im Vergleich zu GDB bietet Delve ein benutzerfreundlicheres Debugging-Erlebnis und unterstützt das Setzen von Haltepunkten und das dynamische Ändern von Programmvariablen. Gleichzeitig bietet Delve auch die folgenden Funktionen:

  • Unterstützt das Debuggen von Multithread-Programmen;
  • Sie können die API zum Debuggen von Prozessen verwenden.
  • Hier sind einige Beispiele für die Verwendung von Delve:

Zuerst muss Delve installiert werden. In Linux-Systemen können Sie zum Installieren den folgenden Befehl verwenden:

$ go get github.com/go-delve/delve/cmd/dlv

Verwenden Sie im Programmverzeichnis, das debuggt werden muss, den folgenden Befehl, um unser zu starten Programm:

$ dlv debug ./main.go

Dann gibt der Debugger die Szeneninformationen im Terminal aus und wechselt in den Befehlszeilenmodus. Wir können Befehle im Befehlszeilenmodus verwenden, um das Programm zu debuggen.

Haltepunkt setzen: break main.main
  • Ausführung fortsetzen: fortfahren
  • Ausführung fortsetzen: neu starten
  • Einzelschrittausführung: Schritt
  • Einzelschrittausführung (ohne Eingabe der Funktion): weiter
  • Variablenwert anzeigen: p-Variable Der Name
  • Delve unterstützt auch das Ändern von Variablenwerten im Debug-Modus, zum Beispiel:

(gdb) p x

$1 ​​​​= 1


(gdb) set x = 2

(gdb) p x

$2 = 2

VSCODE-Debugging
  1. Visual Studio Code ist eine sehr beliebte Entwicklungsumgebung, die viele Programmiersprachen unterstützt, einschließlich Golang. In VSCODE können wir die integrierte Golang-Erweiterung verwenden, um Golang-Programme zu debuggen.

Installieren Sie zunächst die vscode-go-Erweiterung. Öffnen Sie dann die Debugging-Schnittstelle über die Tastenkombination F5 oder die Schaltfläche „Ausführen und Debuggen“ auf der linken Seite. In der oberen linken Ecke der Benutzeroberfläche können Sie das zu debuggende Projekt auswählen. Das Projekt, das wir debuggen möchten, ist beispielsweise main.go. Sobald Sie auf die Schaltfläche „Ausführen“ klicken, startet das Programm im Debug-Modus.

Im Debugging-Panel von VSCODE können wir Haltepunkte festlegen, Programmvariablen anzeigen, Programmvariablen dynamisch ändern usw. Hier sind einige grundlegende Debugging-Befehle:

Setzen Sie einen Haltepunkt: Klicken Sie auf die leere Stelle links neben der Codezeile.
  • Weiter ausführen: F5
  • Einzelschrittausführung: F10
  • Einzelschrittausführung (Eingabe der Funktion): F11
  • Einzelschrittausführung (Funktion überspringen): F11
  • Variablenwert anzeigen: Bewegen Sie die Maus zum Eingabeaufforderungsfenster der Variablen
  • Die Debugger-Interaktion in VSCODE ist sehr praktisch und kann uns helfen, das Programm schnell zu finden Probleme beseitigen und die Debugging-Effizienz verbessern.

Zusammenfassung:

Die oben genannten drei Möglichkeiten zum Debuggen in Golang. Jede Methode hat ihre Vor- und Nachteile. GDB ist ein sehr leistungsfähiger Debugger, der in den meisten Programmiersprachen verwendet werden kann, die Verwendung ist jedoch komplizierter. Delve ist ein Debugging-Toolkit für Golang, das viele einzigartige Debugging-Funktionen von Golang bietet. Unterstützt Golang-Plug-Ins, hervorragende interaktive Debugging-Schnittstelle, einfach und benutzerfreundlich. Ich hoffe, dieser Artikel kann Programmierern helfen, die Fragen zum Go-Debugging haben.

Das obige ist der detaillierte Inhalt vonLassen Sie uns über die Debugging-Tools von Golang sprechen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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