Estoy depurando por qué emacs se bloquea al usar una función de un paquete 1 . El objetivo de este proceso de depuración es obtener datos útiles para enviar utilizando M-x report-emacs-bug
.
Para obtener ayuda sobre cómo depurar bloqueos de emacs, ya he consultado el Manual de Emacs - Bloqueo y el Manual de Emacs - Después de un bloqueo , pero no me ayudaron.
El manual After A Crash hace referencia, emacs-buffer.gdb
pero no tengo idea de cómo usarlo. Mientras le pedía ayuda a google, me encontré con esta pregunta de emacs.SE , y volví a compilar emacs usando las -ggdb3
banderas.
No tengo experiencia previa en el uso, gdb
por lo que intenté algunos intentos fallidos de usar el emacs-buffer.gbd
archivo.
Esto es lo que probé:
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
En una nota al margen, emacs compilado con la -ggdb3
bandera tarda unos 10 segundos más en cargarse; antes eran 5-6 segundos, ahora unos 16-17 segundos. Sé los segundos exactos debido a un código que calcula eso en mi init. ¿Se espera este aumento en el tiempo de inicio?
Nota 1: emacs se bloquea constantemente cuando undo-tree
intenta restaurar el historial de deshacer para un archivo .org en particular (que no puedo compartir públicamente). Tengo (setq undo-tree-auto-save-history t)
. Este bloqueo ocurre solo en emacs git master, no en emacs 24.5. En emacs 24.5, undo-tree
arroja un error que indica que no puede cargar el historial de deshacer (incluso a través del archivo de historial de deshacer existe), pero al menos la sesión de emacs no se bloquea en esa versión.
undue-tree
problemas, pero tiene un potencial más amplio .
undo-tree
respuesta específica porque sé que sería difícil para cualquier otra persona recrear ese bloqueo exacto. Además, no puedo compartir todo el archivo de organización, que es el único que parece causar este bloqueo. Entonces apliqué solo la gdb
etiqueta a esta pregunta. Di esa historia de fondo para que las respuestas me guíen cómo depurar un bloqueo de emacs en general para que pueda presentar un informe de error útil de emacs .