Какие знаешь инструменты отладки кода в Go

«Какие знаешь инструменты отладки кода в Go» — вопрос из категории Golang, который задают на 23% собеседований Golang Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

В Go есть несколько встроенных и сторонних инструментов для отладки:

  1. fmt.Println / log – простейший способ вывода значений переменных.
    log.Printf("Value: %v", variable)
  1. Delve (dlv) – мощный отладчик для Go. Позволяет:

    • ставить breakpoints (break main.go:10),
    • шагать по коду (next, step),
    • инспектировать переменные (print variable).
  2. pprof – профилирование CPU и памяти:
    import _ "net/http/pprof"
    go func() { log.Println(http.ListenAndServe(":6060", nil)) }()
Затем анализировать через `go tool pprof`.
  1. -race флаг – детектирование гонок данных:
    go run -race main.go
  1. go vet и staticcheck – статический анализ кода.

Для IDE: VS Code с Go-плагином, Goland (встроенный отладчик).