As stated in the manual section 12.2, one can set a breakpoint in the program by placing a (break) procedure call, then the debugger will be invoked so one can inspect the continuation.
However, I found that when (break) is placed within a file, it simply quit the program, instead of invoking the debugger. Consider the following example:
(import (scheme))
(define x 100)
(break)
(display x)
(newline)
Run this file with scheme --debug-on-exception --program test.ss, the program simply exits upon (break), thus the remaining function calls will not be executed.
However, if I try to run this file in scheme REPL with (load "test.ss"), the debugger is invoked normally.
Is this an intented behaviour of (break) or not?
As stated in the manual section 12.2, one can set a breakpoint in the program by placing a
(break)procedure call, then the debugger will be invoked so one can inspect the continuation.However, I found that when
(break)is placed within a file, it simply quit the program, instead of invoking the debugger. Consider the following example:Run this file with
scheme --debug-on-exception --program test.ss, the program simply exits upon(break), thus the remaining function calls will not be executed.However, if I try to run this file in scheme REPL with
(load "test.ss"), the debugger is invoked normally.Is this an intented behaviour of
(break)or not?