Отладка программ на Lisp
Существует несколько способов обнаруживать и исследовать проблемы в программах на Emacs Lisp.
- Если проблема возникает при запуске программы, можно воспользоваться встроенным отладчиком 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.
- Можно профилировать программу, чтобы получить подсказки о том, как сделать её эффективнее. См. Профилирование.
Другие полезные средства для отладки проблем ввода и вывода — файл протоколирования (см. Ввод с терминала) и функция open-termscript (см. Вывод на терминал).
Copyright © 1990-1996, 1998-2026 Free Software Foundation, Inc.
Licensed under the GNU GPL license.
https://www.gnu.org/software/emacs/manual/html_node/elisp/Debugging.html