Heim >Backend-Entwicklung >Golang >Wie erstelle ich eine Debug-Konfiguration für eine bestimmte .go-Datei in VSCode?
Bei der Verwendung von VSCode für die Go-Sprachentwicklung müssen wir häufig debuggen, um Probleme zu lösen. Für bestimmte .go-Dateien müssen wir jedoch möglicherweise benutzerdefinierte Debug-Konfigurationen erstellen. Wie erstellt man also eine Debug-Konfiguration für eine bestimmte .go-Datei in VSCode? In diesem Artikel stellt Ihnen der PHP-Editor Youzi die spezifischen Schritte und Vorsichtsmaßnahmen im Detail vor, damit Sie dieses Ziel problemlos erreichen können. Ganz gleich, ob Sie Anfänger oder erfahrener Entwickler sind, dieser Artikel bietet Ihnen wertvolle Hinweise. Lasst uns beginnen!
Derzeit müssen Sie zum Debuggen zunächst die Datei .go
im Editor fokussieren und dann die Taste F5 drücken, um das Debuggen zu starten.
Ich möchte F5 drücken können, um mit dem Debuggen zu beginnen, ohne mich zuerst auf main.go
im Editor konzentrieren zu müssen.
Dies ist die von VSCode generierte Standardkonfiguration. Sie müssen darauf achten, bevor F5 .go
Datei:
{ "name": "Launch Package", "type": "go", "request": "launch", "mode": "auto", "program": "${fileDirname}", }
Versuchen Sie, program
和 cwd
anzugeben, um es zu erfüllen:
{ "name": "Launch Package", "type": "go", "request": "launch", "mode": "auto", "program": "${workspaceFolder}/cmd/sym_dump/main.go", "cwd": "${workspaceFolder}/cmd/sym_dump", }
Aber das funktioniert nicht, es wird beschwert, dass die Funktion nicht gefunden wurde:
Starting: C:\Users\aybe\go\bin\dlv.exe dap --listen=127.0.0.1:49541 from C:\GitHub\psx_mnd_sym/cmd/sym_dump DAP server listening at: 127.0.0.1:49541 Build Error: go build -o C:\GitHub\psx_mnd_sym\cmd\sym_dump\__debug_bin2780105186.exe -gcflags all=-N -l .\main.go # command-line-arguments .\main.go:340:13: undefined: dumpTypes .\main.go:344:14: undefined: dumpSourceFiles .\main.go:348:14: undefined: dumpDecls .\main.go:357:13: undefined: dumpTypes .\main.go:365:13: undefined: dumpIDAScripts .\main.go:380:13: undefined: dumpTypes (exit status 1)
Die eigentliche Funktion befindet sich in einer anderen program
同一目录下的另一个 .go
Datei im selben Verzeichnis wie Programm
.
In beiden Dateien ist oben package main
angegeben.
Wie kann ich in diesem Fall eine Debug-Konfiguration für eine bestimmte .go
文件创建调试配置?
将 program
Datei erstellen?
Lösung${fileDirname}
是 当前打开文件的文件夹路径。默认 Launch Package
模板使用 ${fileDirname}
而不是 ${file}
(由 Launch file
program
als Verzeichnis an:
{ "version": "0.2.0", "configurations": [ { "name": "Launch Package", "type": "go", "request": "launch", "mode": "auto", "program": "${workspaceFolder}/cmd/sym_dump" } ] }Es werden Vorlagen verwendet) aus einem bestimmten Grund.
dlv debug
Werfen wir einen Blick auf die Dokumentepackage
的信息并不多。让我们转向 go run
Zuerst für :
s program
属性指定为 ${workspaceFolder}/cmd/sym_dump/main.go
,则表示该包包含单个文件 (main.go
)。但事实是该包包含另一个定义 dumpTypes
、dumpSourceFiles
doc
Wenn wir das Attribut program
als ${workspaceFolder}/cmd/sym_dump/main.go
angeben, bedeutet dies, dass das Paket eine einzelne Datei enthält (). Tatsache ist jedoch, dass das Paket eine weitere Datei enthält, die dumpTypes
, dumpSourceFiles
usw. definiert. Aus diesem Grund schlägt die Erstellung des Programms fehl. cwd
Das obige ist der detaillierte Inhalt vonWie erstelle ich eine Debug-Konfiguration für eine bestimmte .go-Datei in VSCode?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!