Я искал везде и пробовал все, что мог, но отладка go exes в VSCODE просто ведёт себя очень странно для меня.
Если я перебираю код, иногда кажется, что отладчик перепрыгивает повсюду, как будто я переключаю потоки. В большинстве случаев, если я наведу курсор на переменные, ничего не произойдет. Если я пытаюсь добавить их как часы, я просто "недоступен". Я строю и работаю изнутри IDE.
У меня последняя версия go and delve. Я вижу, что мне следует избегать оптимизаций компилятора с некоторыми настройками gcflags, но ничего не делать. Не знаю, как добиться прогресса. Любые подсказки?
ОБНОВЛЕНИЕ: В конце концов, это была просто опечатка в задаче сборки, используемой VSCODE. Проблема действительно заключалась в оптимизации компилятора, которую нужно было отключить, используя следующий точный синтаксис:
{
// See https://go.microsoft.com/fwlink/?LinkId=733558
// for the documentation about the tasks.json format
"version": "2.0.0",
"tasks": [
{
"label": "Make Prog",
"type": "shell",
"command": "go",
"args": [
"install",
"-gcflags",
"-N -l",
"./..."
],
"group": {
"kind": "build",
"isDefault": true
},
}
]
}
Также важно, что я использую «exec», а не «debug», для отладки исполняемого файла.