Вывод ошибки CLISP REPL: как найти номер строки в файле, где произошла ошибка? - PullRequest
3 голосов
/ 25 мая 2011

Я работаю через Land of Lisp, использую CLisp, пишу код в Vim с помощью Slimv, затем alt-tabbing в другое окно терминала и загружаю файл в REPL с помощью (load 'file.lisp), затем запускаюпрограммы в REPL.

Когда я получаю сообщение об ошибке в REPL, есть ли способ определить, в какой строке файла file.lisp произошла ошибка?Я не вижу номеров строк, упомянутых явно в сообщении об ошибке REPL, есть ли другой способ?

Я нашел этот похожий вопрос, но единственный ответ говорит, что нужно использовать что-то кроме Clisp, например, sbcl, allegro и т. Д..:

Как улучшить сообщения об ошибках clisp?

Спасибо!

Ответы [ 2 ]

3 голосов
/ 25 мая 2011

Простой ответ: просто скомпилируйте код вместо загрузки его в REPL: clisp -c file.lisp.Ошибка / предупреждения компилятора показывают номера строк.Отладьте его таким образом, затем загрузите в REPL.Пока достаточно.

2 голосов
/ 10 мая 2013

Если вы просто хотите узнать, в какой функции это произошло, вы можете использовать «: bt» в приглашении REPL при возникновении ошибки.Он выведет GDB-подобную трассировку стека, которую вы можете использовать, чтобы выяснить, в какой функции произошла ошибка.

...