Lorsque nous utilisons VSCode pour le développement du langage Go, nous devons souvent déboguer pour résoudre des problèmes. Cependant, pour des fichiers .go spécifiques, nous devrons peut-être créer des configurations de débogage personnalisées. Alors, comment créer une configuration de débogage pour un fichier .go spécifique dans VSCode ? Dans cet article, l'éditeur PHP Youzi vous présentera en détail les étapes et précautions spécifiques pour vous aider à atteindre facilement cet objectif. Que vous soyez débutant ou développeur expérimenté, cet article vous fournira de précieux conseils. commençons!
Actuellement, vous devez d'abord concentrer le fichier .go
dans l'éditeur pour le débogage, puis appuyer sur la touche F5 pour démarrer le débogage.
Ce que je veux, c'est pouvoir appuyer sur F5 pour lancer le débogage sans avoir à me concentrer d'abord sur main.go
dans l'éditeur.
C'est la configuration stock générée par VSCode, vous devez faire attention avant F5 .go
Fichier :
{ "name": "Launch Package", "type": "go", "request": "launch", "mode": "auto", "program": "${fileDirname}", }
Essayez de préciser program
和 cwd
pour le satisfaire :
{ "name": "Launch Package", "type": "go", "request": "launch", "mode": "auto", "program": "${workspaceFolder}/cmd/sym_dump/main.go", "cwd": "${workspaceFolder}/cmd/sym_dump", }
Mais cela ne fonctionne pas, il se plaint d'une fonction introuvable :
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)
La fonction réelle se trouve dans un autre program
同一目录下的另一个 .go
fichier dans le même répertoire que program
.
Les deux fichiers ont package main
spécifié en haut d'eux.
Dans ce cas, comment puis-je créer une configuration de débogage pour un fichier .go
文件创建调试配置?
将 program
spécifique ?
Solution${fileDirname}
是 当前打开文件的文件夹路径。默认 Launch Package
模板使用 ${fileDirname}
而不是 ${file}
(由 Launch file
program
comme répertoire :
{ "version": "0.2.0", "configurations": [ { "name": "Launch Package", "type": "go", "request": "launch", "mode": "auto", "program": "${workspaceFolder}/cmd/sym_dump" } ] }
dlv debug
Jetons un coup d'oeil aux docspackage
的信息并不多。让我们转向 go run
D'abord pour :
docprogram
属性指定为 ${workspaceFolder}/cmd/sym_dump/main.go
,则表示该包包含单个文件 (main.go
)。但事实是该包包含另一个定义 dumpTypes
、dumpSourceFiles
de
Si nous spécifions l'attribut program
comme ${workspaceFolder}/cmd/sym_dump/main.go
, cela signifie que le package contient un seul fichier (). Mais le fait est que le package contient un autre fichier qui définit dumpTypes
, dumpSourceFiles
, etc. C'est pourquoi il ne parvient pas à construire le programme. cwd
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!