CentOS versão 6.10 (final)
GNU gdb (GDB) Red Hat Enterprise Linux (7.2-92.el6)
Meu programa está travando e gerando um despejo de núcleo. Infelizmente, ele está tentando despejá-lo no meu diretório pessoal, o que não chega nem perto de ter espaço para mantê-lo:
BFD: Aviso: core.30906 está truncado: tamanho esperado do arquivo principal >= 155732344832, encontrado: 29430394880.
Eu preciso definir as coisas para que, quando eu iniciar meu programa, qualquer despejo de núcleo vá para um local que eu especificar, onde houver espaço disponível. Eu olhei aqui , mas as respostas parecem exigir sudo e se aplicam a todas as contas. Eu preciso de algo que funcione sem acesso root e se aplique apenas à minha conta.
Você pode usar o
/sbin/sysctl kernel.core_pattern
sem acesso root para visualizar o padrão de nomenclatura do arquivo principal atual.Se o padrão não começar com um
/
caractere, o arquivo principal será criado em relação ao diretório de trabalho atual do programa que despeja o núcleo. Então, se o seu programa estiver em$HOME/myprogram
, faça isso:Agora o core dump deve ser gerado no local desejado e não em $HOME.