🔴 Сложный · 3 очк. Разное / продвинутое
Для чего используется переменная окружения GODEBUG?
A Включает режим отладки компилятора
B Управляет поведением рантайма Go без перекомпиляции
C Активирует race detector
D Выводит дополнительные логи в stderr
Объяснение вопроса

GODEBUG управляет отладочными и поведенческими флагами рантайма и стандартной библиотеки без перекомпиляции.

Примеры

GODEBUG=gctrace=1        // вывод трассы GC
GODEBUG=netdns=go        // резолвер DNS на чистом Go
GODEBUG=http2debug=1     // отладка HTTP/2
GODEBUG=panicnil=1       // старое поведение panic(nil) (Go 1.21+)

Несколько параметров задаются через запятую: GODEBUG=gctrace=1,netdns=cgo.

Зачем нужен

Отладка, профилирование, переключение реализации (например, DNS). С Go 1.21 часть изменений в поведении можно откатить через GODEBUG для обратной совместимости.

  • Документация: go doc runtime, раздел о GODEBUG
  • Действует на весь процесс
🧠Квиз 🏆Лидеры 🎯Собесед. 📖Вопросы 📚База зн.