Eu habilitei um tamanho de arquivo de núcleo ilimitado usando ulimit:
ulimit -a
core file size (blocks, -c) unlimited
...
Acredito que eu tenha acionado um dump principal, mas não consigo localizar o arquivo principal em minha casa, var / ... etc ...
Você sabe onde o Ubuntu configura o local do dump principal?
ubuntu-14.04
jcalfee314
fonte
fonte
Respostas:
Eu acho que isso é mais uma coisa do kernel do Linux do que uma coisa específica do Ubuntu. Confira
Confira a página do manual do arquivo principal
fonte
/proc/sys/kernel/core_pattern
onde se encontraria o arquivo.cd /usr/share/apport/apport
não funciona.Por padrão, o kernel do Ubuntu é configurado para usar o apport para registrar os coredumps. Você pode substituir isso sobrescrevendo
/proc/sys/kernel/core_pattern
, verifique a seção "Nomeando de arquivos de despejo de núcleo" emman core
para detalhes. Por exemplo:echo '/tmp/core.%e.%p.%t' | sudo tee /proc/sys/kernel/core_pattern
Apport escreve core dumps para
/var/crash/_path_to_program.userid.crash
, Mas só vai fazê-lo para aplicativos instalados a partir dos principais repositórios apt ubuntu.Mais informações sobre o apport: https://wiki.ubuntu.com/Apport
fonte
No Ubuntu 16.04.3 LTS, meu core dump estava localizado em:
/var/lib/systemd/coredump/core.application-name.0.24d47e89526c4c7e90953998d2c33d1e.19672.1516049424000000000000
Então, para executá-lo em
gdb
, você pode correr:apt install gdb gdb /path/to/your/binary/application-name /var/lib/systemd/coredump/core.application-name.0.24d47e89526c4c7e90953998d2c33d1e.19672.1516049424000000000000
fonte