19 Отладка Lisp-программ
Существует несколько способов найти и исследовать проблемы в Lisp-программе Emacs.
- Если проблема возникает при запуске программы, вы можете использовать встроенный
отладчик Emacs Lisp (см. Отладчик Lisp), чтобы приостановить
Lisp-вычислитель и изучить и/или изменить его внутреннее состояние.
- Вы можете использовать Edebug, отладчик на уровне исходного кода для Emacs Lisp.
См. Edebug.
-
Вы можете отследить выполнение функций, участвующих в проблеме, используя
возможности трассировки, предоставляемые пакетом trace.el. Этот
пакет предоставляет функции
trace-function-foreground и
trace-function-background для трассировки вызовов функций, а также
trace-values для добавления значений выбранных переменных в
трассировку. Подробности см. в документации этих возможностей в
trace.el.
- Если синтаксическая проблема не позволяет Lisp даже прочитать
программу, вы можете найти ее с помощью команд редактирования Lisp.
- Вы можете посмотреть сообщения об ошибках и предупреждениях,
генерируемые байт-компилятором при компиляции программы. См. Ошибки компилятора.
- Вы можете использовать пакет Testcover для выполнения тестирования покрытия
программы.
- Вы можете использовать пакет ERT для написания регрессионных тестов для
программы. См. руководство ERT в ERT: Регрессионное тестирование Emacs Lisp.
- Вы можете профилировать программу, чтобы получить подсказки о том, как
сделать ее более эффективной. См. Профилирование.
Другие полезные инструменты для отладки проблем ввода и вывода — это
файл dribble (см. Ввод терминала) и
функция open-termscript (см. Вывод терминала).