Depuração / monitoramento do emacs

4

Estou usando o GNU Emacs 23.1.50.1 (x86_64-pc-linux-gnu, GTK + versão 2.18.0) e inicio minha sessão do Emacs dentro da tela GNU. Desde que eu atualizei para o Ubuntu 10.04 e a versão do emacs-snapshot eu encontro alguns problemas. Às vezes o Emacs ocupa toda a RAM mais a mesma quantidade de espaço de troca (2 + 2GB) e também consome todo o tempo da CPU. Quando eu envio o processo a um SIGTERM o processo para comer o tempo da CPU, mas a quantidade enorme de memória alocada permanece. O Emacs em si não aceita sequências chave. Então normalmente eu envio o processo a um SIGKILL e ele morre.

Agora eu quero descobrir onde o bug (se houver) está localizado e quero fazer alguma depuração. Não consigo ver nenhuma razão especial para esse comportamento. Às vezes, começa depois que o Emacs é iniciado de novo, às vezes eu posso trabalhar um dia inteiro sem problemas, às vezes acontece no meio. Então, estou procurando um tipo de depuração ou monitoramento do processo. Eu tentei strace , mas isso gera muita saída. A saída Strace de uma sessão de edição deve preencher todo o meu disco rígido. Executar o Emacs dentro do gdb também não deve funcionar, porque, se bem me lembro, o Ubuntu constrói o software sem depurar os símbolos. Então você tem algum conselho sobre como eu posso encontrar o bug (possível)? O que você sugeriria?

    
por qbi 08.08.2010 / 22:07

3 respostas

1

Eu encontrei a resposta para isso por acidente. O problema não era o emacs, mas um chaveiro do GNOME com defeito. Quando inicio o Emacs sem o daemon de chaveiro, tudo está bem. Então, desativá-lo resolveu meu problema aqui.

    
por qbi 03.11.2010 / 10:18
1

Talvez o pacote emacs-snapshot-dbg possa ser de interesse?

"Este pacote contém os símbolos de depuração úteis para depurar o Emacs."

    
por andol 08.08.2010 / 22:11
0

No momento, estou tentando salvar todo o conteúdo do buffer de mensagens em um arquivo e espero encontrar algo útil:

(with-current-buffer "*Messages*" (auto-save-mode t))
    
por qbi 11.08.2010 / 00:00