Onde o arquivo principal com o abrt-hook-cpp está instalado?

2

Postei essa pergunta para o StackOverflow há pouco tempo, mas acabei de encontrar essa comunidade, e senti que esse é, pelo menos, um site igualmente apropriado para essa pergunta:

Fui levado a entender que, se o abrt-ccpp.service estiver instalado em um PC Linux, ele substituirá / overwrites (eu li os dois, não tenho certeza qual é a verdade) o arquivo /proc/sys/kernel/core_pattern , que de outra forma especifica o padrão de localização e nome de arquivo dos arquivos principais.

Pergunta :

Quando executo systemctl , por que o abrt-ccpp.service reporta exited na coluna SUB ? Eu não entendo a combinação de active e exited : é o serviço "vivo" / ativo / em execução ou não?

> systemctl
UNIT                 LOAD   ACTIVE SUB
abrt-ccpp.service    loaded active exited ...

Pergunta :

Onde os arquivos principais são gerados? Eu escrevi este programa para gerar um SIGSEGV :

#include <iostream>

int main(int argc, char* argv[], char* envz[])
{
  int* pInt = NULL;
  std::cout << *pInt << std::endl;
  return 0;
}

Compilação e execução da seguinte forma:

> g++ main.cpp
> ./a.out
Segmentation fault (core dumped)

Mas não consigo localizar onde o arquivo principal é gerado.

O que tentei :

  • Olhou no mesmo diretório que meu main.cpp . O arquivo principal não está lá.
  • Examinado em /var/tmp/abrt/ devido ao seguinte comentário em /etc/abrt/abrt.conf . O arquivo principal não está lá.

...

# 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

...

  • Verificou em /var/spool/abrt/ devido a um comentário em este link . O arquivo principal não está lá.
  • Editado /etc/abrt/abrt.conf e descomentado e definido DumpLocation = ~/foo , que é um diretório existente. Seguido isso reiniciando abrt-hook-ccpp ( sudo service abrt-ccpp restart ) e reexecutando a.out . O arquivo principal não foi gerado em ~/foo/
  • Verificado que ulimit -c relatórios unlimited .

Estou sem ideias sobre o que mais tentar e onde mais procurar.

Caso seja útil, este é o conteúdo do meu /proc/sys/kernel/core_pattern :

> cat /proc/sys/kernel/core_pattern
|/usr/libexec/abrt-hook-ccpp %s %c %p %u %g %t e

Alguém pode ajudar a explicar como funciona o serviço abrt-hook-ccpp e onde ele gera arquivos principais? Obrigado.

    
por StoneThrow 07.02.2017 / 19:06

1 resposta

3

Uma possibilidade é a necessidade de alterar a linha no arquivo de configuração /etc/abrt/abrt-action-save-package-data.conf

ProcessUnpackaged = no

para yes , caso contrário, o abrtd capturará somente os arquivos principais dos programas instalado pelo gerenciador de pacotes ( dnf , apt , ou qualquer outro). Use abrt-gui ou abrt-cli para procurar core dumps.

    
por 07.02.2017 / 20:26