Как я могу отлаживать / отслеживать Emacs, чтобы узнать, почему он использует так много памяти?

Я использую GNU Emacs 23.1.50.1 (x86_64-pc-linux-gnu, GTK + версия 2.18.0) и запускаю сеанс Emacs на экране GNU.

Так как я обновился до Ubuntu 10.04 и версии emacs-snapshot, я столкнулся с некоторыми проблемами. Иногда Emacs загружает всю оперативную память плюс тот же объем пространства подкачки (2 + 2 ГБ), а также съедает все процессорное время. Когда я отправляю процессу SIGTERM, процесс перестает потреблять процессорное время, но остается огромный выделенный объем памяти. Сам Emacs не принимает никаких последовательностей клавиш. Поэтому обычно я посылаю процесс SIGKILL, и он умирает.

Теперь я хочу выяснить, где находится ошибка (если она есть), и хочу выполнить некоторую отладку. Я не вижу особых причин для такого поведения. Иногда он начинается после того, как Emacs был запущен заново, иногда я могу работать целый день без проблем, иногда это происходит между ними. Поэтому я ищу способ отладки или мониторинга процесса.

Я пытался strace, но это генерирует слишком много продукции. Непосредственный вывод сеанса редактирования может легко заполнить весь мой жесткий диск. Запуск Emacs внутри gdb также не будет работать, потому что, если я правильно помню, Ubuntu собирает программное обеспечение без отладочных символов. Итак, есть ли у вас какие-либо советы о том, как я могу найти (возможную) ошибку? Что бы вы предложили?

4
задан 8 October 2018 в 10:45

3 ответа

В данный момент я пытаюсь сохранить все содержимое буфера сообщений в файл и надеюсь найти что-то полезное:

(with-current-buffer "*Messages*" (auto-save-mode t))
0
ответ дан 8 October 2018 в 10:45

Я нашел ответ на это случайно. Проблема была не в emacs, а в некорректном наборе ключей GNOME. Когда я запускаю Emacs без демона ключей, все в порядке. Так что его отключение решило мою проблему здесь.

0
ответ дан 8 October 2018 в 10:45

Возможно, пакет emacs-snapshot-dbg может быть интересен?

«Этот пакет содержит символы отладки, полезные для отладки Emacs».

0
ответ дан 8 October 2018 в 10:45

Другие вопросы по тегам:

Похожие вопросы: