Добавить в корзинуПозвонить
Найти в Дзене
Машинное обучение

Если Linux-приложение падает и пишет что-то вроде “config not found”, не гадай, где оно ищет файл

Используй strace. Команда: strace -f -e trace=file myapp 2>&1 | grep -E 'ENOENT|EACCES|openat|stat' Она покажет, какие файлы программа реально пытается открыть. Смотри на три вещи: ENOENT - файл не найден EACCES - нет прав openat / stat - точный путь, куда программа полезла Это особенно спасает, когда сервис не видит конфиг, бинарник не находит .so библиотеку или приложение ищет сокет и сертификат вообще не там, где ты думал. А если процесс уже запущен: sudo strace -f -e trace=file -p PID Один из самых полезных приёмов для отладки Linux: не угадывать проблему, а посмотреть, что процесс делает на самом деле.

Если Linux-приложение падает и пишет что-то вроде “config not found”, не гадай, где оно ищет файл.

Используй strace.

Команда:

strace -f -e trace=file myapp 2>&1 | grep -E 'ENOENT|EACCES|openat|stat'

Она покажет, какие файлы программа реально пытается открыть.

Смотри на три вещи:

ENOENT - файл не найден

EACCES - нет прав

openat / stat - точный путь, куда программа полезла

Это особенно спасает, когда сервис не видит конфиг, бинарник не находит .so библиотеку или приложение ищет сокет и сертификат вообще не там, где ты думал.

А если процесс уже запущен:

sudo strace -f -e trace=file -p PID

Один из самых полезных приёмов для отладки Linux: не угадывать проблему, а посмотреть, что процесс делает на самом деле.