Skip to content
8 / 15

GOTRACEBACK и посмертный анализ: дампы и что с ними делать

GOTRACEBACK управляет объёмом вывода при аварийном завершении и имеет пять значений. none — без стеков вообще. single (по умолчанию) — стек только паниковавшей горутины. all — стеки всех пользовательских горутин: то, что чаще всего нужно при разборе, потому что причина бывает в соседней горутине. system — то же плюс кадры рантайма и его внутренние горутины. crash — как system, но вместо аккуратного выхода процесс падает способом операционной системы, то есть порождает дамп памяти, если система настроена его сохранять. Дамп разбирают отладчиком delve: можно посмотреть значения переменных на момент падения, а не только имена функций. Практика для прода: GOTRACEBACK=all как разумное умолчание, потому что стоит он ничего, а диагностику улучшает заметно; crash с дампами включают точечно, когда воспроизвести проблему иначе не выходит.

GOTRACEBACK и посмертный анализ: дампы и что с ними делать | JScriptiser