Files
mercury/tests/debugger/nondet_stack.exp2
Zoltan Somogyi 759f76a314 Make debugging of minimal model tabling more convenient.
Estimated hours taken: 1.5
Branches: main

Make debugging of minimal model tabling more convenient.

compiler/handle_options.m:
	Make -Dmm generate HLDS dumps tailored for understanding the
	code of procedures transformed by minimal model tabling.

runtime/mercury_minimal_model.c:
	When printing the stack segments being saved, print the values of
	variables in the affected stack frames.

runtime/mercury_stack_trace.c:
	When dumping the nondet stack, print the name of the procedure
	that established each ordinary frame, and the goal path at which
	control will reenter the stack frame, if this information is available.

	Since mercury_minimal_model.c now asks for the printing of variable
	values (which is done by Mercury code) while execution is outside
	the debugger and hence while execution tracing may be enabled,
	explicitly turn off debugging while in the Mercury code that prints
	variable values.

runtime/mercury_trace_base.[ch]:
	Provide a simple mechanism for turning off debugging functionality
	in a region of code.

trace/mercury_trace_internal.c:
	Use the new mechanism in mercury_trace_base to handle turning off
	debugging output inside the debugger. This also allows us to simplify
	the code implementing the "flag" mdb command.

	Make the reports generated by the "unhide_events" and "table_io"
	commands follow the same format as other commands.

	Note that mercury_trace_declarative.c doesn't use the new mechanism,
	because it wants the reexecution of the call being debugged to be
	exactly the same as its first execution; in particular, turning off
	I/O tabling for reexecution would generate incorrect results.

tests/debugger/nondet_stack.exp*:
tests/debugger/tabled_read.exp*:
tests/debugger/tabled_read_decl.exp*:
tests/debugger/tabled_read_unitize.exp*:
tests/debugger/io_stream_test.exp*:
tests/debugger/declarative/tabled_read_decl.exp*:
	Update the expected out of these test cases to reflect the new
	functionality above.
2004-03-10 04:31:06 +00:00

862 lines
20 KiB
Plaintext

E1: C1 1 CALL pred nondet_stack.main/2-0 (cc_multi) nondet_stack.m:NNNN
mdb> echo on
Command echo enabled.
mdb> context none
Contexts will not be printed.
mdb> register --quiet
mdb> goto 22
E2: C2 6 SWTC pred nondet_stack.qperm/2-0 (nondet) s2;
mdb> nondet_stack 3
non 162: ordinary, 16 words
redoip: unnamed label
redofr: non 162
succip: unnamed label
succfr: non 123
non 146: temp
redoip: label UNKNOWN
redofr: non 140
non 143: temp
redoip: unnamed label
redofr: non 140
<more stack frames snipped>
mdb> nondet_stack
non 162: ordinary, 16 words
redoip: unnamed label
redofr: non 162
succip: unnamed label
succfr: non 123
non 146: temp
redoip: label UNKNOWN
redofr: non 140
non 143: temp
redoip: unnamed label
redofr: non 140
non 140: ordinary, 17 words
redoip: unnamed label
redofr: non 140
succip: unnamed label
succfr: non 123
non 123: ordinary, 16 words
redoip: unnamed label
redofr: non 123
succip: unnamed label
succfr: non 84
non 107: temp
redoip: label UNKNOWN
redofr: non 101
non 104: temp
redoip: unnamed label
redofr: non 101
non 101: ordinary, 17 words
redoip: unnamed label
redofr: non 101
succip: unnamed label
succfr: non 84
non 84: ordinary, 16 words
redoip: unnamed label
redofr: non 84
succip: unnamed label
succfr: non 45
non 68: temp
redoip: label UNKNOWN
redofr: non 62
non 65: temp
redoip: unnamed label
redofr: non 62
non 62: ordinary, 17 words
redoip: unnamed label
redofr: non 62
succip: unnamed label
succfr: non 45
non 45: ordinary, 16 words
redoip: unnamed label
redofr: non 45
succip: unnamed label
succfr: non 29
non 29: ordinary, 15 words
redoip: unnamed label
redofr: non 29
succip: unnamed label
succfr: non 10
non 14: temp
redoip: unnamed label
redofr: non 10
detfr: det 22
non 10: ordinary, 6 words
redoip: label global_fail
redofr: non 10
succip: label wrapper_not_reached
succfr: non 4
mdb> stack_regs
sp = det 22
curfr = non 162
maxfr = non 162
mdb> nondet_stack -d
non 162: ordinary, 16 words, pred nondet_stack.qperm/2-0 (nondet) <s2;>
redoip: unnamed label
redofr: non 162
succip: unnamed label
succfr: non 123
on main nondet branch non 162
HeadVar__1 [4, 5]
TypeInfo_for_T int
non 146: temp
redoip: label UNKNOWN
redofr: non 140
non 143: temp
redoip: unnamed label
redofr: non 140
non 140: ordinary, 17 words
redoip: unnamed label
redofr: non 140
succip: unnamed label
succfr: non 123
top frame of a nondet side branch non 140
HeadVar__2 [3, 4, 5]
TypeInfo_for_T int
non 123: ordinary, 16 words, pred nondet_stack.qperm/2-0 (nondet) <s2;c2;>
redoip: unnamed label
redofr: non 123
succip: unnamed label
succfr: non 84
on main nondet branch non 162
HeadVar__1 [3, 4, 5]
TypeInfo_for_T int
U 3
Z [4, 5]
non 107: temp
redoip: label UNKNOWN
redofr: non 101
non 104: temp
redoip: unnamed label
redofr: non 101
non 101: ordinary, 17 words
redoip: unnamed label
redofr: non 101
succip: unnamed label
succfr: non 84
top frame of a nondet side branch non 101
HeadVar__2 [2, 3, 4, 5]
TypeInfo_for_T int
non 84: ordinary, 16 words, pred nondet_stack.qperm/2-0 (nondet) <s2;c2;>
redoip: unnamed label
redofr: non 84
succip: unnamed label
succfr: non 45
on main nondet branch non 162
HeadVar__1 [2, 3, 4, 5]
TypeInfo_for_T int
U 2
Z [3, 4, 5]
non 68: temp
redoip: label UNKNOWN
redofr: non 62
non 65: temp
redoip: unnamed label
redofr: non 62
non 62: ordinary, 17 words
redoip: unnamed label
redofr: non 62
succip: unnamed label
succfr: non 45
top frame of a nondet side branch non 62
HeadVar__2 [1, 2, 3, 4, 5]
TypeInfo_for_T int
non 45: ordinary, 16 words, pred nondet_stack.qperm/2-0 (nondet) <s2;c2;>
redoip: unnamed label
redofr: non 45
succip: unnamed label
succfr: non 29
on main nondet branch non 162
HeadVar__1 [1, 2, 3, 4, 5]
TypeInfo_for_T int
U 1
Z [2, 3, 4, 5]
non 29: ordinary, 15 words, pred nondet_stack.queen/2-0 (nondet) <c2;>
redoip: unnamed label
redofr: non 29
succip: unnamed label
succfr: non 10
on main nondet branch non 162
Data (arg 1) [1, 2, 3, 4, 5]
TypeCtorInfo_5 int
non 14: temp
redoip: unnamed label
redofr: non 10
detfr: det 22
non 10: ordinary, 6 words
redoip: label global_fail
redofr: non 10
succip: label wrapper_not_reached
succfr: non 4
mdb> goto 39
E3: C3 3 CALL pred nondet_stack.safe/1-0 (semidet)
mdb> nondet_stack
non 258: temp
redoip: label UNKNOWN
redofr: non 45
non 255: temp
redoip: label UNKNOWN
redofr: non 84
non 252: temp
redoip: label UNKNOWN
redofr: non 123
non 249: temp
redoip: label UNKNOWN
redofr: non 162
non 246: temp
redoip: label UNKNOWN
redofr: non 201
non 243: temp
redoip: label UNKNOWN
redofr: non 240
non 240: ordinary, 16 words
redoip: unnamed label
redofr: non 240
succip: unnamed label
succfr: non 201
non 224: temp
redoip: label UNKNOWN
redofr: non 218
non 221: temp
redoip: unnamed label
redofr: non 218
non 218: ordinary, 17 words
redoip: unnamed label
redofr: non 218
succip: unnamed label
succfr: non 201
non 201: ordinary, 16 words
redoip: unnamed label
redofr: non 201
succip: unnamed label
succfr: non 162
non 185: temp
redoip: label UNKNOWN
redofr: non 179
non 182: temp
redoip: unnamed label
redofr: non 179
non 179: ordinary, 17 words
redoip: unnamed label
redofr: non 179
succip: unnamed label
succfr: non 162
non 162: ordinary, 16 words
redoip: unnamed label
redofr: non 162
succip: unnamed label
succfr: non 123
non 146: temp
redoip: label UNKNOWN
redofr: non 140
non 143: temp
redoip: unnamed label
redofr: non 140
non 140: ordinary, 17 words
redoip: unnamed label
redofr: non 140
succip: unnamed label
succfr: non 123
non 123: ordinary, 16 words
redoip: unnamed label
redofr: non 123
succip: unnamed label
succfr: non 84
non 107: temp
redoip: label UNKNOWN
redofr: non 101
non 104: temp
redoip: unnamed label
redofr: non 101
non 101: ordinary, 17 words
redoip: unnamed label
redofr: non 101
succip: unnamed label
succfr: non 84
non 84: ordinary, 16 words
redoip: unnamed label
redofr: non 84
succip: unnamed label
succfr: non 45
non 68: temp
redoip: label UNKNOWN
redofr: non 62
non 65: temp
redoip: unnamed label
redofr: non 62
non 62: ordinary, 17 words
redoip: unnamed label
redofr: non 62
succip: unnamed label
succfr: non 45
non 45: ordinary, 16 words
redoip: unnamed label
redofr: non 45
succip: unnamed label
succfr: non 29
non 29: ordinary, 15 words
redoip: unnamed label
redofr: non 29
succip: unnamed label
succfr: non 10
non 14: temp
redoip: unnamed label
redofr: non 10
detfr: det 22
non 10: ordinary, 6 words
redoip: label global_fail
redofr: non 10
succip: label wrapper_not_reached
succfr: non 4
mdb> stack_regs
sp = det 32
curfr = non 29
maxfr = non 258
mdb> nondet_stack -d
non 258: temp
redoip: label UNKNOWN
redofr: non 45
non 255: temp
redoip: label UNKNOWN
redofr: non 84
non 252: temp
redoip: label UNKNOWN
redofr: non 123
non 249: temp
redoip: label UNKNOWN
redofr: non 162
non 246: temp
redoip: label UNKNOWN
redofr: non 201
non 243: temp
redoip: label UNKNOWN
redofr: non 240
non 240: ordinary, 16 words
redoip: unnamed label
redofr: non 240
succip: unnamed label
succfr: non 201
top frame of a nondet side branch non 240
HeadVar__1 []
TypeInfo_for_T int
non 224: temp
redoip: label UNKNOWN
redofr: non 218
non 221: temp
redoip: unnamed label
redofr: non 218
non 218: ordinary, 17 words
redoip: unnamed label
redofr: non 218
succip: unnamed label
succfr: non 201
top frame of a nondet side branch non 218
HeadVar__2 [5]
TypeInfo_for_T int
non 201: ordinary, 16 words, pred nondet_stack.qperm/2-0 (nondet) <s2;c2;>
redoip: unnamed label
redofr: non 201
succip: unnamed label
succfr: non 162
internal frame on nondet side branch non 240
HeadVar__1 [5]
TypeInfo_for_T int
U 5
Z []
non 185: temp
redoip: label UNKNOWN
redofr: non 179
non 182: temp
redoip: unnamed label
redofr: non 179
non 179: ordinary, 17 words
redoip: unnamed label
redofr: non 179
succip: unnamed label
succfr: non 162
top frame of a nondet side branch non 179
HeadVar__2 [4, 5]
TypeInfo_for_T int
non 162: ordinary, 16 words, pred nondet_stack.qperm/2-0 (nondet) <s2;c2;>
redoip: unnamed label
redofr: non 162
succip: unnamed label
succfr: non 123
internal frame on nondet side branch non 240
HeadVar__1 [4, 5]
TypeInfo_for_T int
U 4
Z [5]
non 146: temp
redoip: label UNKNOWN
redofr: non 140
non 143: temp
redoip: unnamed label
redofr: non 140
non 140: ordinary, 17 words
redoip: unnamed label
redofr: non 140
succip: unnamed label
succfr: non 123
top frame of a nondet side branch non 140
HeadVar__2 [3, 4, 5]
TypeInfo_for_T int
non 123: ordinary, 16 words, pred nondet_stack.qperm/2-0 (nondet) <s2;c2;>
redoip: unnamed label
redofr: non 123
succip: unnamed label
succfr: non 84
internal frame on nondet side branch non 240
HeadVar__1 [3, 4, 5]
TypeInfo_for_T int
U 3
Z [4, 5]
non 107: temp
redoip: label UNKNOWN
redofr: non 101
non 104: temp
redoip: unnamed label
redofr: non 101
non 101: ordinary, 17 words
redoip: unnamed label
redofr: non 101
succip: unnamed label
succfr: non 84
top frame of a nondet side branch non 101
HeadVar__2 [2, 3, 4, 5]
TypeInfo_for_T int
non 84: ordinary, 16 words, pred nondet_stack.qperm/2-0 (nondet) <s2;c2;>
redoip: unnamed label
redofr: non 84
succip: unnamed label
succfr: non 45
internal frame on nondet side branch non 240
HeadVar__1 [2, 3, 4, 5]
TypeInfo_for_T int
U 2
Z [3, 4, 5]
non 68: temp
redoip: label UNKNOWN
redofr: non 62
non 65: temp
redoip: unnamed label
redofr: non 62
non 62: ordinary, 17 words
redoip: unnamed label
redofr: non 62
succip: unnamed label
succfr: non 45
top frame of a nondet side branch non 62
HeadVar__2 [1, 2, 3, 4, 5]
TypeInfo_for_T int
non 45: ordinary, 16 words, pred nondet_stack.qperm/2-0 (nondet) <s2;c2;>
redoip: unnamed label
redofr: non 45
succip: unnamed label
succfr: non 29
internal frame on nondet side branch non 240
HeadVar__1 [1, 2, 3, 4, 5]
TypeInfo_for_T int
U 1
Z [2, 3, 4, 5]
non 29: ordinary, 15 words, pred nondet_stack.queen/2-0 (nondet) <c3;>
redoip: unnamed label
redofr: non 29
succip: unnamed label
succfr: non 10
on main nondet branch non 29
Data (arg 1) [1, 2, 3, 4, 5]
Out (arg 2) [1, 2, 3, 4, 5]
TypeCtorInfo_5 int
non 14: temp
redoip: unnamed label
redofr: non 10
detfr: det 22
non 10: ordinary, 6 words
redoip: label global_fail
redofr: non 10
succip: label wrapper_not_reached
succfr: non 4
mdb> break nondet_stack__test
0: + stop interface pred nondet_stack.test/2-0 (nondet)
mdb> continue
E4: C4 2 CALL pred nondet_stack.test/2-0 (nondet)
mdb> nondet_stack
non 341: ordinary, 16 words
redoip: unnamed label
redofr: non 341
succip: unnamed label
succfr: non 10
non 325: temp
redoip: unnamed label
redofr: non 10
detfr: det 22
non 321: temp
redoip: label UNKNOWN
redofr: non 29
non 318: temp
redoip: label UNKNOWN
redofr: non 45
non 315: temp
redoip: label UNKNOWN
redofr: non 84
non 312: temp
redoip: label UNKNOWN
redofr: non 143
non 309: temp
redoip: label UNKNOWN
redofr: non 222
non 306: temp
redoip: label UNKNOWN
redofr: non 261
non 303: temp
redoip: label UNKNOWN
redofr: non 300
non 300: ordinary, 16 words
redoip: unnamed label
redofr: non 300
succip: unnamed label
succfr: non 261
non 284: temp
redoip: label UNKNOWN
redofr: non 278
non 281: temp
redoip: unnamed label
redofr: non 278
non 278: ordinary, 17 words
redoip: unnamed label
redofr: non 278
succip: unnamed label
succfr: non 261
non 261: ordinary, 16 words
redoip: unnamed label
redofr: non 261
succip: unnamed label
succfr: non 222
non 245: temp
redoip: label UNKNOWN
redofr: non 239
non 242: temp
redoip: unnamed label
redofr: non 239
non 239: ordinary, 17 words
redoip: unnamed label
redofr: non 239
succip: unnamed label
succfr: non 222
non 222: ordinary, 16 words
redoip: unnamed label
redofr: non 222
succip: unnamed label
succfr: non 143
non 206: temp
redoip: label UNKNOWN
redofr: non 160
non 203: temp
redoip: label UNKNOWN
redofr: non 177
non 200: temp
redoip: label UNKNOWN
redofr: non 194
non 197: temp
redoip: unnamed label
redofr: non 194
non 194: ordinary, 17 words
redoip: unnamed label
redofr: non 194
succip: unnamed label
succfr: non 177
non 177: ordinary, 17 words
redoip: unnamed label
redofr: non 177
succip: unnamed label
succfr: non 160
non 160: ordinary, 17 words
redoip: unnamed label
redofr: non 160
succip: unnamed label
succfr: non 143
non 143: ordinary, 16 words
redoip: unnamed label
redofr: non 143
succip: unnamed label
succfr: non 84
non 127: temp
redoip: label UNKNOWN
redofr: non 101
non 124: temp
redoip: label UNKNOWN
redofr: non 118
non 121: temp
redoip: unnamed label
redofr: non 118
non 118: ordinary, 17 words
redoip: unnamed label
redofr: non 118
succip: unnamed label
succfr: non 101
non 101: ordinary, 17 words
redoip: unnamed label
redofr: non 101
succip: unnamed label
succfr: non 84
non 84: ordinary, 16 words
redoip: unnamed label
redofr: non 84
succip: unnamed label
succfr: non 45
non 68: temp
redoip: label UNKNOWN
redofr: non 62
non 65: temp
redoip: unnamed label
redofr: non 62
non 62: ordinary, 17 words
redoip: unnamed label
redofr: non 62
succip: unnamed label
succfr: non 45
non 45: ordinary, 16 words
redoip: unnamed label
redofr: non 45
succip: unnamed label
succfr: non 29
non 29: ordinary, 15 words
redoip: unnamed label
redofr: non 29
succip: unnamed label
succfr: non 10
non 14: temp
redoip: unnamed label
redofr: non 10
detfr: det 22
non 10: ordinary, 6 words
redoip: label global_fail
redofr: non 10
succip: label wrapper_not_reached
succfr: non 4
mdb> stack_regs
sp = det 22
curfr = non 341
maxfr = non 341
mdb> nondet_stack -d
non 341: ordinary, 16 words, pred nondet_stack.test/2-0 (nondet) <>
redoip: unnamed label
redofr: non 341
succip: unnamed label
succfr: non 10
on main nondet branch non 341
HeadVar__1 [1, 3, 5, 2, 4]
non 325: temp
redoip: unnamed label
redofr: non 10
detfr: det 22
non 321: temp
redoip: label UNKNOWN
redofr: non 29
non 318: temp
redoip: label UNKNOWN
redofr: non 45
non 315: temp
redoip: label UNKNOWN
redofr: non 84
non 312: temp
redoip: label UNKNOWN
redofr: non 143
non 309: temp
redoip: label UNKNOWN
redofr: non 222
non 306: temp
redoip: label UNKNOWN
redofr: non 261
non 303: temp
redoip: label UNKNOWN
redofr: non 300
non 300: ordinary, 16 words
redoip: unnamed label
redofr: non 300
succip: unnamed label
succfr: non 261
top frame of a nondet side branch non 300
HeadVar__1 []
TypeInfo_for_T int
non 284: temp
redoip: label UNKNOWN
redofr: non 278
non 281: temp
redoip: unnamed label
redofr: non 278
non 278: ordinary, 17 words
redoip: unnamed label
redofr: non 278
succip: unnamed label
succfr: non 261
top frame of a nondet side branch non 278
HeadVar__2 [4]
TypeInfo_for_T int
non 261: ordinary, 16 words, pred nondet_stack.qperm/2-0 (nondet) <s2;c2;>
redoip: unnamed label
redofr: non 261
succip: unnamed label
succfr: non 222
internal frame on nondet side branch non 300
HeadVar__1 [4]
TypeInfo_for_T int
U 4
Z []
non 245: temp
redoip: label UNKNOWN
redofr: non 239
non 242: temp
redoip: unnamed label
redofr: non 239
non 239: ordinary, 17 words
redoip: unnamed label
redofr: non 239
succip: unnamed label
succfr: non 222
top frame of a nondet side branch non 239
HeadVar__2 [2, 4]
TypeInfo_for_T int
non 222: ordinary, 16 words, pred nondet_stack.qperm/2-0 (nondet) <s2;c2;>
redoip: unnamed label
redofr: non 222
succip: unnamed label
succfr: non 143
internal frame on nondet side branch non 300
HeadVar__1 [2, 4]
TypeInfo_for_T int
U 2
Z [4]
non 206: temp
redoip: label UNKNOWN
redofr: non 160
non 203: temp
redoip: label UNKNOWN
redofr: non 177
non 200: temp
redoip: label UNKNOWN
redofr: non 194
non 197: temp
redoip: unnamed label
redofr: non 194
non 194: ordinary, 17 words
redoip: unnamed label
redofr: non 194
succip: unnamed label
succfr: non 177
top frame of a nondet side branch non 194
HeadVar__2 [5]
TypeInfo_for_T int
non 177: ordinary, 17 words, pred nondet_stack.qdelete/3-0 (nondet) <c2;d2;c3;>
redoip: unnamed label
redofr: non 177
succip: unnamed label
succfr: non 160
internal frame on nondet side branch non 194
HeadVar__2 [4, 5]
A 4
TypeInfo_for_T int
Z [5]
non 160: ordinary, 17 words, pred nondet_stack.qdelete/3-0 (nondet) <c2;d2;c3;>
redoip: unnamed label
redofr: non 160
succip: unnamed label
succfr: non 143
internal frame on nondet side branch non 194
HeadVar__2 [2, 4, 5]
A 2
TypeInfo_for_T int
Z [4, 5]
non 143: ordinary, 16 words, pred nondet_stack.qperm/2-0 (nondet) <s2;c2;>
redoip: unnamed label
redofr: non 143
succip: unnamed label
succfr: non 84
internal frame on nondet side branch non 300
HeadVar__1 [2, 4, 5]
TypeInfo_for_T int
U 5
Z [2, 4]
non 127: temp
redoip: label UNKNOWN
redofr: non 101
non 124: temp
redoip: label UNKNOWN
redofr: non 118
non 121: temp
redoip: unnamed label
redofr: non 118
non 118: ordinary, 17 words
redoip: unnamed label
redofr: non 118
succip: unnamed label
succfr: non 101
top frame of a nondet side branch non 118
HeadVar__2 [3, 4, 5]
TypeInfo_for_T int
non 101: ordinary, 17 words, pred nondet_stack.qdelete/3-0 (nondet) <c2;d2;c3;>
redoip: unnamed label
redofr: non 101
succip: unnamed label
succfr: non 84
internal frame on nondet side branch non 118
HeadVar__2 [2, 3, 4, 5]
A 2
TypeInfo_for_T int
Z [3, 4, 5]
non 84: ordinary, 16 words, pred nondet_stack.qperm/2-0 (nondet) <s2;c2;>
redoip: unnamed label
redofr: non 84
succip: unnamed label
succfr: non 45
internal frame on nondet side branch non 300
HeadVar__1 [2, 3, 4, 5]
TypeInfo_for_T int
U 3
Z [2, 4, 5]
non 68: temp
redoip: label UNKNOWN
redofr: non 62
non 65: temp
redoip: unnamed label
redofr: non 62
non 62: ordinary, 17 words
redoip: unnamed label
redofr: non 62
succip: unnamed label
succfr: non 45
top frame of a nondet side branch non 62
HeadVar__2 [1, 2, 3, 4, 5]
TypeInfo_for_T int
non 45: ordinary, 16 words, pred nondet_stack.qperm/2-0 (nondet) <s2;c2;>
redoip: unnamed label
redofr: non 45
succip: unnamed label
succfr: non 29
internal frame on nondet side branch non 300
HeadVar__1 [1, 2, 3, 4, 5]
TypeInfo_for_T int
U 1
Z [2, 3, 4, 5]
non 29: ordinary, 15 words, pred nondet_stack.queen/2-0 (nondet) <c2;>
redoip: unnamed label
redofr: non 29
succip: unnamed label
succfr: non 10
internal frame on nondet side branch non 300
Data (arg 1) [1, 2, 3, 4, 5]
TypeCtorInfo_5 int
non 14: temp
redoip: unnamed label
redofr: non 10
detfr: det 22
non 10: ordinary, 6 words
redoip: label global_fail
redofr: non 10
succip: label wrapper_not_reached
succfr: non 4
mdb> continue -S
[2, 5, 3, 1, 4]