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.gdb
mas 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 -ggdb3
bandeiras.
Como não tenho experiência anterior, gdb
tentei algumas tentativas fracassadas de usar o emacs-buffer.gbd
arquivo.
Aqui está o que eu tentei:
gdb -x /path/to/emacs-buffer.gdb
gdb
->file /path/to/emacs-buffer.gdb
gdb
->source /path/to/emacs-buffer.gdb
source /path/to/emacs-buffer.gdb
Em uma nota lateral, o emacs compilado com a -ggdb3
bandeira 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-tree
tenta 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-tree
gera 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-tree
problemas, mas tem um potencial mais amplo .
undo-tree
resposta 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 gdb
tag 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 .