Ответ
strace — это утилита командной строки для диагностики и отладки в Linux. Она перехватывает и записывает системные вызовы и сигналы, которые процесс получает или отправляет ядру операционной системы. Это незаменимый инструмент для понимания, почему программа падает, зависает или ведет себя неожиданно.
Базовое использование:
# Трассировка выполнения команды `ls`
strace ls /home
# Сохранить вывод в файл для анализа
strace -o debug.log ./my_application
Полезные опции для DevOps-задач:
-p <PID>– подключиться к уже запущенному процессу.-f– трассировать также дочерние процессы (форки).-e trace=<названия>– фильтровать вызовы (например,-e trace=fileдля операций с файлами,-e trace=networkдля сетевых).-c– получить сводную статистику по времени и количеству вызовов для профилирования.-y– подробно отображать дескрипторы файлов и сокетов.
Пример анализа: Если приложение не может прочитать конфигурационный файл, strace покажет вызов openat или stat с путем к файлу и кодом ошибки (например, ENOENT — "No such file or directory").