Если я должен был отлаживать службу на машине и определил, что запись не выполняется, как я мог бы проверить, почему запись не удалась?
Я знаю, что системный вызов в C вернет -1, и тогда мы можем проверить, какая константа int errno
содержит (EINVAL
,и т.д.). Однако, если я не могу это проверить, как мне проверить причину ошибки? Будет ли в этом случае dmesg показывать мне ошибку на уровне блочного устройства?
Если сбой записи был связан с ошибкой ввода-вывода диска и, следовательно, с отказавшим диском, то вы, скорее всего, найдете сообщения об ошибках от ядра в dmesg
вывод.
Но если таких симптомов нет, следует сначала исключить самые простые объяснения:
/var/log/audit/
каталог.