Je débogue pourquoi emacs se bloque lors de l'utilisation d'une fonction à partir d'un package 1 . Le but de ce processus de débogage est d'obtenir des données utiles à soumettre en utilisant M-x report-emacs-bug.
Pour obtenir de l'aide sur la façon de déboguer les plantages d'emacs, j'ai déjà regardé Emacs Manual - Crashing et Emacs Manual - After a Crash , mais ils n'ont pas aidé.
Le manuel After A Crash fait référence emacs-buffer.gdbmais je ne sais pas comment l'utiliser. En demandant de l'aide à Google, je suis tombé sur cette question emacs.SE et j'ai recompilé emacs en utilisant les -ggdb3drapeaux.
Je n'ai aucune expérience préalable de l'utilisation gdbet j'ai donc tenté quelques tentatives infructueuses d'utilisation du emacs-buffer.gbdfichier.
Voici ce que j'ai essayé:
gdb -x /path/to/emacs-buffer.gdbgdb->file /path/to/emacs-buffer.gdbgdb->source /path/to/emacs-buffer.gdbsource /path/to/emacs-buffer.gdb
Sur une note latérale, emacs compilé avec le -ggdb3drapeau prend environ 10 secondes de plus à charger; plus tôt, c'était 5-6 secondes, maintenant environ 16-17 secondes. Je connais les secondes exactes à cause d'un code qui calcule cela dans mon init. Cette augmentation du temps de démarrage est-elle attendue?
Note de bas de page 1: emacs se bloque systématiquement lors d'une undo-treetentative de restauration de l'historique d'annulation d'un fichier .org particulier (que je ne peux pas partager publiquement). Je l'ai (setq undo-tree-auto-save-history t). Ce plantage ne se produit que sur emacs git master, pas sur emacs 24.5. Sur emacs 24.5, undo-treegénère une erreur indiquant qu'il est impossible de charger l'historique d'annulation (même si le fichier historique d'annulation existe), mais au moins la session emacs ne se bloque pas sur cette version.
undue-treeproblèmes, mais elle a un potentiel plus large .
undo-treeréponse spécifique car je sais qu'il serait difficile pour quelqu'un d'autre de recréer ce crash exact. Je ne peux pas non plus partager l'intégralité du fichier org, qui est le seul qui semble provoquer ce plantage. J'ai donc appliqué uniquement la gdbbalise à cette question. J'ai donné cette histoire en arrière afin que les réponses puissent me guider sur la façon de déboguer un crash emacs en général afin que je puisse déposer un rapport de bogue emacs utile .