История изменений
Исправление tp_for_my_bunghole, (текущая версия) :
Мне-то это не надо рассказывать, я это знаю, но это не полностью заменяет пошаговую отладку. И не error вообще-то, а break, если уж ты пытаешься рассказать мне, как работать в CL.
Ты не выглядишь похожим на человека, который пользовался CL в сколько-нибудь существенных масштабах. Парашют сзади выдаёт.
Пошаговый дебаггер в стандарте Common Lisp.
Форма STEP.
(step
(progn
(print "first step")
(print "second step"))
)
Опции:
0: [STEP-CONTINUE] Resume normal execution
1: [STEP-OUT] Resume stepping after returning from this function
2: [STEP-NEXT] Step over call
3: [STEP-INTO] Step into call
4: [RETRY] Retry EVAL of current toplevel form.
5: [CONTINUE] Ignore error and continue loading file " ... somefile.lisp".
В Emacs Lisp пошаговый дебаггер доступен в любой момент на уровне нажатий клавиш. Но есть только error, break нет.
В Common Lisp есть ещё TRACE.
Можно сделать макрос который оборачивает в STEP или нет разные части кода в зависимости от глобального символа, и сидеть делать шаги по разным функциям. Будет такой «debug build».
В Scheme в новых типах макросов кажется не сделать такое, если нет нормальных Lisp macros в имплементации.
Исправление tp_for_my_bunghole, :
Мне-то это не надо рассказывать, я это знаю, но это не полностью заменяет пошаговую отладку. И не error вообще-то, а break, если уж ты пытаешься рассказать мне, как работать в CL.
Ты не выглядишь похожим на человека, который пользовался CL в сколько-нибудь существенных масштабах. Парашют сзади выдаёт.
Пошаговый дебаггер в стандарте Common Lisp.
Форма STEP.
(step
(progn
(print "first step")
(print "second step"))
)
Опции:
0: [STEP-CONTINUE] Resume normal execution
1: [STEP-OUT] Resume stepping after returning from this function
2: [STEP-NEXT] Step over call
3: [STEP-INTO] Step into call
4: [RETRY] Retry EVAL of current toplevel form.
5: [CONTINUE] Ignore error and continue loading file " ... somefile.lisp".
В Emacs Lisp пошаговый дебаггер доступен в любой момент на уровне нажатий клавиш. Но есть только error, break нет.
В Common Lisp есть ещё TRACE.
Можно сделать макрос который оборачивает в STEP или нет разные части кода в зависимости от глобальной переменной, и сидеть делать шаги по разным функциям. Будет такой «debug build».
В Scheme в новых типах макросов кажется не сделать такое, если нет нормальных Lisp macros в имплементации.
Исправление tp_for_my_bunghole, :
Мне-то это не надо рассказывать, я это знаю, но это не полностью заменяет пошаговую отладку. И не error вообще-то, а break, если уж ты пытаешься рассказать мне, как работать в CL.
Ты не выглядишь похожим на человека, который пользовался CL в сколько-нибудь существенных масштабах. Парашют сзади выдаёт.
Пошаговый дебаггер в стандарте Common Lisp.
Форма STEP.
(step
(progn
(print "first step")
(print "second step"))
)
Опции:
0: [STEP-CONTINUE] Resume normal execution
1: [STEP-OUT] Resume stepping after returning from this function
2: [STEP-NEXT] Step over call
3: [STEP-INTO] Step into call
4: [RETRY] Retry EVAL of current toplevel form.
5: [CONTINUE] Ignore error and continue loading file " ... somefile.lisp".
В Emacs Lisp пошаговый дебаггер доступен в любой момент на уровне нажатий клавиш. Но есть только error, break нет.
Исправление tp_for_my_bunghole, :
Мне-то это не надо рассказывать, я это знаю, но это не полностью заменяет пошаговую отладку. И не error вообще-то, а break, если уж ты пытаешься рассказать мне, как работать в CL.
Ты не выглядишь похожим на человека, который пользовался CL в сколько-нибудь существенных масштабах. Парашют сзади выдаёт.
Пошаговый дебаггер в стандарте Common Lisp.
Форма STEP.
(step
(progn
(print "first step")
(print "second step"))
)
Опции:
0: [STEP-CONTINUE] Resume normal execution
1: [STEP-OUT] Resume stepping after returning from this function
2: [STEP-NEXT] Step over call
3: [STEP-INTO] Step into call
4: [RETRY] Retry EVAL of current toplevel form.
5: [CONTINUE] Ignore error and continue loading file " ... somefile.lisp".
Исправление tp_for_my_bunghole, :
Мне-то это не надо рассказывать, я это знаю, но это не полностью заменяет пошаговую отладку. И не error вообще-то, а break, если уж ты пытаешься рассказать мне, как работать в CL.
И не error вообще-то, а break, если уж ты пытаешься рассказать мне, как работать в CL.
Ты не выглядишь похожим на человека, который пользовался CL в сколько-нибудь существенных масштабах. Парашют сзади выдаёт.
Пошаговый дебаггер в стандарте Common Lisp.
Форма STEP.
(step
(progn
(print "first step")
(print "second step"))
)
Опции:
0: [STEP-CONTINUE] Resume normal execution
1: [STEP-OUT] Resume stepping after returning from this function
2: [STEP-NEXT] Step over call
3: [STEP-INTO] Step into call
4: [RETRY] Retry EVAL of current toplevel form.
5: [CONTINUE] Ignore error and continue loading file " ... somefile.lisp".
Исходная версия tp_for_my_bunghole, :
Мне-то это не надо рассказывать, я это знаю, но это не полностью заменяет пошаговую отладку. И не error вообще-то, а break, если уж ты пытаешься рассказать мне, как работать в CL.
И не error вообще-то, а break, если уж ты пытаешься рассказать мне, как работать в CL.
Ты не выглядишь похожим на человека, который пользовался CL в сколько-нибудь существенных масштабах. Парашют сзади выдаёт.
Пошаговый дебаггер в стандарте Common Lisp.
Форма STEP.
(step
(progn
(print "first step")
(print "second step"))
)