Ich debugge gerade, warum Emacs abstürzt, wenn ich eine Funktion aus einem Paket 1 verwende . Ziel dieses Debug-Prozesses ist es, nützliche Daten für die Übermittlung zu erhalten M-x report-emacs-bug
.
Um Hilfe zum Debuggen von Emacs-Abstürzen zu erhalten, habe ich mir bereits das Emacs-Handbuch - Abstürze und das Emacs-Handbuch - Nach einem Absturz angesehen , aber sie haben nicht geholfen.
Das After A Crash- Handbuch bezieht sich auf, emacs-buffer.gdb
aber ich habe keine Ahnung, wie man es benutzt. Als ich Google um Hilfe bat, bin ich auf diese Frage von Emacs.SE gestoßen und habe Emacs mithilfe der -ggdb3
Flags neu kompiliert .
Ich habe keine Vorkenntnisse in der Verwendung von gdb
und daher habe ich nur wenige Fehlversuche unternommen, um die emacs-buffer.gbd
Datei zu verwenden.
Folgendes habe ich versucht:
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
Außerdem -ggdb3
dauert das Laden von Emacs, die mit dem Flag kompiliert wurden, etwa 10 Sekunden länger. früher waren es 5-6 Sekunden, jetzt ungefähr 16-17 Sekunden. Ich kenne die genauen Sekunden aufgrund eines Codes, der diese in meinem Init berechnet. Wird diese Verlängerung der Startzeit erwartet?
Fußnote 1: Emacs stürzt konsistent ab, wenn undo-tree
versucht wird, den Rückgängig-Verlauf für eine bestimmte .org-Datei wiederherzustellen (die ich nicht öffentlich freigeben kann). Ich habe (setq undo-tree-auto-save-history t)
. Dieser Absturz tritt nur auf dem Emacs Git Master auf, nicht auf dem Emacs 24.5. Unter Emacs 24.5 wird undo-tree
ein Fehler ausgegeben, der besagt, dass der Rückgängig-Verlauf nicht geladen werden kann (selbst wenn die Rückgängig-Verlaufsdatei vorhanden ist), aber zumindest die Emacs-Sitzung in dieser Version nicht abstürzt.
undue-tree
Problemen wichtig ist , aber es hat ein breiteres Potenzial .
undo-tree
spezifische Antwort erwartet , weil ich weiß, dass es für andere schwierig sein würde, diesen genauen Absturz nachzubilden. Außerdem kann ich nicht die gesamte Organisationsdatei freigeben, die die einzige ist, die diesen Absturz zu verursachen scheint. Also habe ich nur das gdb
Tag auf diese Frage angewendet . Ich habe diese Hintergrundgeschichte gegeben, damit ich anhand der Antworten nachvollziehen kann, wie ein Emacs-Absturz im Allgemeinen behoben wird, damit ich einen nützlichen Emacs-Fehlerbericht einreichen kann .