Heim > Backend-Entwicklung > Golang > Wie füge ich zum Debuggen mit der Visual Studio Code-IDE eine Verbindung zu einer überkompilierten Go-Binärdatei hinzu?

Wie füge ich zum Debuggen mit der Visual Studio Code-IDE eine Verbindung zu einer überkompilierten Go-Binärdatei hinzu?

WBOY
Freigeben: 2024-02-08 20:53:53
nach vorne
891 Leute haben es durchsucht

如何使用 Visual Studio Code IDE 附加到交叉编译的 go 二进制文件以进行调试?

Frageninhalt

Ich verwende Visual Studio Code als IDE für eine Golang-basierte Anwendung. Die Anwendung wird auf Linux-Zielen ausgeführt. Ich möchte den VSC-Debugger an diese überkompilierte Binärdatei anhängen. Die Binärdatei kann für ARM- oder x86-Plattformen kompiliert werden. Ich weiß, dass eine launch.json-Datei dies erreichen kann, aber ich habe sie noch nie verwendet. Bitte helfen Sie.


Richtige Antwort


Debugger dlv wird zum Debuggen von Go-Code verwendet. Delve oder dlv hat die Einschränkung, dass es nur an Binärdateien für 64-Bit-Architekturen angehängt werden kann. Also habe ich den Code für die 64-Bit-AMD-Architektur kompiliert und auf meinem Linux-Rechner ausgeführt. Als nächstes habe ich die Prozess-ID der Binärdatei ermittelt und einen Drilldown angehängt. Ich habe Port 2345 für den Delve-Server verwendet

dlv Some_process_id anhängen --listen=:2345 --headless --api-version=2 --log

Möglicherweise müssen Sie auch die Debugging-Ebene auf Ihrem Linux-Ziel mit Sudo-Berechtigungen aktivieren/ändern.

cat 0 > /proc/sys/kernel/yama/ptrace_scope

Erstellen Sie eine launch.json in der Visual Studio Code-IDE mit den folgenden Einstellungen:

{
            "name": "Launch Windows",
            "type": "go",
            "request": "attach",
            "mode": "remote",
            "remotePath": "path/to/binary",
            "port": 2345,
            "host": "target ip address"
 }
Nach dem Login kopieren

Da ich Visual Studio auf einem Windows-Computer ausführe, wähle ich den Remote-Modus für das Remote-Linux-Ziel.

Wenn Sie nun den Debugger über Visual Studio Code ausführen, suchen die Einstellungen in launch.json nach dem DLV-Debugger/Server auf dem Ziel und hängen ihn an. Platzieren Sie einige Haltepunkte in Ihrem Code, vorzugsweise an einer Stelle, die extern ausgelöst werden kann. Zum Beispiel. Akzeptiert Aufrufe auf dem Server, die durch Client-Aufrufe ausgelöst werden können.

Das obige ist der detaillierte Inhalt vonWie füge ich zum Debuggen mit der Visual Studio Code-IDE eine Verbindung zu einer überkompilierten Go-Binärdatei hinzu?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:stackoverflow.com
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