Se outras pessoas limparem ...
... você geralmente não encontra nada. Mas, felizmente, o Linux tem um manipulador para isso que você pode especificar em tempo de execução. Em /usr/src/linux/Documentation/sysctl/kernel.txt , você encontrará:
[/proc/sys/kernel/]core_pattern is used to specify a core dumpfile pattern name.
- If the first character of the pattern is a '|', the kernel will treat the rest of the pattern as a command to run. The core dump will be written to the standard input of that program instead of to a file.
( obrigado )
De acordo com a fonte, isso é tratado pelo programa abrt
(que é a Ferramenta de Relatório Automático de Bugs, não para abortar), mas no meu Arch Linux ele é tratado pelo systemd. Você pode escrever seu próprio manipulador ou usar o diretório atual.
Mas o que tem lá?
Agora, o que ele contém é específico do sistema, mas de acordo com a a enciclopédia que tudo conhece :
[A core dump] consists of the recorded state of the working memory of a computer program at a specific time[...]. In practice, other key pieces of program state are usually dumped at the same time, including the processor registers, which may include the program counter and stack pointer, memory management information, and other processor and operating system flags and information.
... então basicamente contém tudo que gdb
queria, e mais.
Sim, mas gostaria que eu ficasse feliz em vez de gdb
Você pode estar feliz, pois gdb
carregará qualquer dump principal contanto que você tenha uma cópia exata do seu executável: gdb path/to/binary my/core.dump
. Você deve, então, ser capaz de continuar os negócios como de costume e ficar incomodado tentando e não consertando os erros, em vez de tentar e não conseguir reproduzir os erros.