Мне интересно, каковы некоторые эффективные способы интерактивной отладки Common Lisp с использованием Emacs и SLIME.
Что я делал раньше: как человек, который изучил C и Python, используя IDE (VS и PyCharm), я привык устанавливать точки останова, добавлять часы и делать шаги. Но когда я начал использовать CL, я обнаружил, что процесс отладки принципиально отличается. Я не нашел хороших способов установить точки останова, пройтись по линиям и посмотреть, как меняются переменные.
Глупый метод, который я использовал, заключался в добавлении "print" в код и повторном запуске кода, что очень неэффективно. Я знаю, что мы можем "проверять" переменные в SLIME, но не уверен, как это сделать в интерактивном режиме.
Что я нашел: я недавно наткнулся на это видео о разработке переводчика азбуки Морзе, и оно показывает полный процесс интерактивной отладки в SLIME, который был очень информативным и поучительным. Это как если бы мы могли "поговорить" с компилятором.
Что я хочу: я искал в Интернете, но нашел минимальные учебники, демонстрирующие, как опытный Lispер на самом деле разрабатывает и отлаживает свои программы. Я стремлюсь изучать такой опыт.
- Как отлаживать в интерактивном режиме?
- Каковы некоторые хорошие практики и советы? Как добавить точку останова и шаг?
- Какие ярлыки/инструменты/рабочий процесс вы используете чаще всего/считаете наиболее полезными при отладке?