Estou depurando por que o emacs falha ao usar uma função de um pacote 1 . O objetivo deste processo de depuração é obter dados úteis para enviar usando M-x report-emacs-bug.
Para obter ajuda sobre como depurar falhas do emacs, eu já consultei o Manual do Emacs - Crashing e Manual do Emacs - Após um Crash , mas eles não ajudaram.
O manual After A Crash se refere, emacs-buffer.gdbmas não tenho idéia de como usá-lo. Ao pedir ajuda ao google, me deparei com essa pergunta do emacs.SE e recompilei o emacs usando as -ggdb3bandeiras.
Como não tenho experiência anterior, gdbtentei algumas tentativas fracassadas de usar o emacs-buffer.gbdarquivo.
Aqui está o que eu tentei:
gdb -x /path/to/emacs-buffer.gdbgdb->file /path/to/emacs-buffer.gdbgdb->source /path/to/emacs-buffer.gdbsource /path/to/emacs-buffer.gdb
Em uma nota lateral, o emacs compilado com a -ggdb3bandeira leva cerca de 10 segundos a mais para carregar; antes, eram 5-6 segundos, agora cerca de 16 a 17 segundos. Eu sei os segundos exatos por causa de um código que calcula isso no meu init. É esperado um aumento no tempo de inicialização?
Nota de rodapé 1: o emacs falha constantemente quando undo-treetenta restaurar o histórico de desfazer de um arquivo .org específico (que não posso compartilhar publicamente). Eu tenho (setq undo-tree-auto-save-history t). Essa falha ocorre apenas no emacs git master, não no emacs 24.5. No emacs 24.5, undo-treegera um erro informando que não é possível carregar o histórico de desfazer (mesmo que exista o arquivo de histórico de desfazer), mas pelo menos a sessão do emacs não falha nessa versão.
undue-treeproblemas, mas tem um potencial mais amplo .
undo-treeresposta específica, porque sei que seria difícil para qualquer outra pessoa recriar a falha exata. Também não consigo compartilhar o arquivo organizacional inteiro, que é o único que parece causar esse travamento. Então, apliquei apenas a gdbtag a esta pergunta. Eu contei essa história para que as respostas possam me orientar como depurar uma falha do emacs em geral, para que eu possa registrar um relatório útil de erro do emacs .