Я понял, что если abrt-ccpp.service установлен на ПК с Linux, он заменяет/перезаписывает (я читал оба, не уверен, что true) файл /proc/sys/kernel/core_pattern
, который в противном случае определяет структуру местоположения и файла имен файлов ядра.Не удается найти файл ядра с установленным abrt-hook-cpp
Вопрос:
Когда я исполняю systemctl
, почему отчет Abrt-ccpp.service exited
под SUB
колонке? Я не понимаю комбинацию active
и exited
: это сервис «живой»/активный/бег или нет?
> systemctl
UNIT LOAD ACTIVE SUB
abrt-ccpp.service loaded active exited ...
Вопрос:
Где основные файлы генерируются? Я написал эту программу, чтобы сгенерировать SIGSEGV
:
#include <iostream>
int main(int argc, char* argv[], char* envz[])
{
int* pInt = NULL;
std::cout << *pInt << std::endl;
return 0;
}
Составление и исполнение следующим образом:
> g++ main.cpp
> ./a.out
Segmentation fault (core dumped)
Но я не могу найти, где файл ядра генерируется.
То, что я пытался:
- Посмотрел в том же каталоге, что и мой
main.cpp
. Основного файла нет. - Просмотрено
/var/tmp/abrt/
из-за следующего комментария в/etc/abrt/abrt.conf
. Основного файла нет.
...
# Specify where you want to store coredumps and all files which are needed for
# reporting. (default:/var/tmp/abrt)
#
# Changing dump location could cause problems with SELinux. See man_abrt_selinux(8).
#
#DumpLocation = /var/tmp/abrt
...
- Смотрел в
/var/spool/abrt/
из-за комментария в this link. Основного файла нет. - Отредактировано
/etc/abrt/abrt.conf
и выполнено без рамок и установленоDumpLocation = ~/foo
, которое является существующим каталогом. После этого перезапустите abrt-hook-ccpp (sudo service abrt-ccpp restart
) и перезапуститеa.out
. Основной файл не сгенерирован в~/foo/
- Проверено, что
ulimit -c
сообщаетunlimited
.
У меня нет идей о том, что еще попробовать и где еще искать.
В случае полезно, это содержание моего /proc/sys/kernel/core_pattern
:
> cat /proc/sys/kernel/core_pattern
|/usr/libexec/abrt-hook-ccpp %s %c %p %u %g %t e
Может кто-нибудь помочь объяснить, как работает сервис ABRT-крючок-парогазовой и где он создает основные файлы? Спасибо.
Вы можете просто изменить свой «core_pattern», чтобы указать на предопределенный каталог. Я всегда делаю это так, если я не догадываюсь, как работают все эти умные сервисы, требующие большого внимания. –
Ваше предложение сработало - спасибо. Не могли бы вы опубликовать это как ответ? В дополнение к кредитованию вашего ответа у меня возникли непредвиденные проблемы (в конечном итоге были решены), редактирование core_pattern, и я хотел задать дополнительные вопросы по этому вопросу. – StoneThrow