Как настроить отладку в GoLand?
Я пробую GoLand и слышу, что отладчик предположительно крут, но я не могу найти никакой документации, объясняющей, как его настроить (GoLand находится в стадии предварительного просмотра, так что это не удивительно). Мой пример использования: я пишу REST API, к которому я отправляю запросы, используя curl. Может кто-нибудь, пожалуйста, скажите мне, шаг за шагом, как начать работу с отладчиком?
[edit 1] (перенесено из комментария) Когда я нажимаю Run/Debug (или Run/Run), появляется окно с просьбой отредактировать конфигурации. Мне предоставляется выбор из нескольких видов конфигураций, я пытаюсь выбрать "Go application", но кнопка "Отладка" никогда не отображается серым цветом, и я не могу заставить ее щелкать. Я очень новичок в GoLand, возможно, мне не хватает чего-то очевидного, но я не могу найти то, что не хватает настроек.
[править 2] Оказывается, мое рабочее пространство не соответствовало спецификациям Go: мой код не находился в каталоге с именем src. Теперь, когда это так, я могу нажать Run/Debug, и GoLand, кажется, делает правильные вещи, за исключением того, что он не останавливается на точках останова или ведет себя как отладчик, мой код просто запускается.
[править 3] Попробовал еще раз, и это работает. Вроде, как бы, что-то вроде. Я понятия не имею, почему это работает сейчас, хотя раньше это не происходило, и я ничего не менял. Теперь точки останова работают на одних линиях, а не на других. Или отладчик останавливается на точке останова, но я всегда жду загрузки списка переменных. Ну, это предварительный просмотр, в конце концов...
[править 4] Мне только что сообщили, что доступна новая версия GoLand. Я обновился, и отладка теперь работает хорошо для меня.
Ответы
Ответ 1
Gogland не включит действие отладки (хотя запуск доступен), если ваш код не находится внутри src
. Там нет никакого предупреждения об этом, так что это может быть действительно трудно решить эту проблему.
Кроме того, в зависимости от структуры ваших проектов, возможно, что отладка все еще не работает. В этом случае это может помочь удалить все конфигурации запуска и создать новую. Theres - сообщение об ошибке об этом поведении.
PS: хотя ОП упоминает первую часть в редактировании вопроса, но, по-моему, стоит упомянуть в ответе.
Ответ 2
Я столкнулся с этой же проблемой, и решил ее, используя конфигурацию "Перейти к приложению" (в окне "Конфигурация запуска/отладки") вместо конфигурации "Перейти к одному файлу".
Итак, перейдите в верхний правый угол Gogland и "Редактируйте конфигурации".
![Opening the Run/Debug Configurations]()
Затем добавьте новую конфигурацию, используя профиль "Go Application".
![Run/Debug Configurations window]()
После сохранения вы сможете отладить свой код. о /
Простой способ включить эту конфигурацию - использовать метод @user1793301, щелкнуть правой кнопкой мыши файл, который вы хотите запустить, и выбрать "Debug 'go run.go'".
ВОЗМОЖНЫЕ ПОЯСНЕНИЯ
ВНИМАНИЕ: я не смотрел больше подробностей об этом.
Факт: конфигурация "Go Application" создает двоичный исполняемый файл перед его запуском.
Факт: я мог видеть, глядя на вывод консоли (внутри Goglang), что IDE использует DLV в качестве инструмента отладки.
Факт: я нашел dlv debug
в документации по DLV, и она, кажется, компилирует и отлаживает код.
Гипотеза: ребята из Jetbrains не реализовали это. Или, по крайней мере, не ДА.
Ответ 3
У меня была эта точная проблема.
Удалено и воссоздана конфигурация запуска отладки. Отладка тогда работала отлично.
Ответ 4
В Голанде все изменилось, так как @Jamillo Santos добавил свой ответ.
Начнем с того, что больше нет "Go Application".
Самый простой способ - найти файл, содержащий функцию main(). На него должен быть направлен маленький треугольник, как на скриншоте: ![main function declaration]()
Когда вы нажимаете на маленький зеленый треугольник, вы получаете меню с опциями Run/Debug. Каждый создаст конфигурацию go build
.
Вы можете отредактировать эту конфигурацию go build
и добавить аргументы программы для вашего приложения. Например, если ваша программа имеет аргумент командной строки --arg=value
вы можете добавить его следующим образом: ![enter image description here]()
Ответ 5
На версии 2019.1.1
приложения Go больше нет. Вместо этого используйте Go Build. Здесь я отлаживаю один файл сценария, но если у вас есть серверное приложение или что-то, просто укажите на основной файл приложения:
![enter image description here]()
Обратите внимание, что в поле " Файлы" необходимо указать фактический путь к файлу. Вы можете поместить больше файлов (если вы хотите иметь больше начальных точек), разделив их конвейером |
, Для каждого файла, который вы хотите отлаживать, вам нужно указать полный путь.
Опять же, если вы отлаживаете серверное приложение или что-то еще, у которого есть единственная начальная точка, вам нужен только файл запуска, указанный в конфигурации. :)
Ответ 6
выключи своего агента, который сильнее всего.
Ответ 7
Я нажимаю правой кнопкой мыши на проекте (main.go внутри) и выбираю "Debug...", и он работает
введите здесь описание изображения
Ответ 8
вы можете изменить имя файла go на "main.go", где у него есть основная функция.
Это может быть ошибка.