User guide

7.2. THE CINTPOS DEBUGGER 143
Command Effect
. Select current coroutine
, Display next stack frame
; Select parent coroutine
[ Select first coroutine
] Select next coroutine
Finally, the command Q causes a return from t he Cintcode system.
7.2 The C intpos Debugger
Under Cintpos, t he interactive debugger can be entered by connecting the console to
task 2 (using @s02). This allows debugging to take place while other tasks are running.
Alternatively, the debugger is automatically entered in standalone mode when a fault
is encountered or by an explicit call of abort. Most of i ts facilities are the same as
for the Cintsys version, however a few more operation s are available to access Cintpos
features. The ? command prints the following.
? Print list of debug commands
Gn Pn Rn Vn Wn An Variables
G P R V W A Pointers
123 #o377 #FF03 ’c Constants
*e /e %e +e -e |e &e ^e Dyadic operators
!e Subscription
< > Shift left/right one place
$b $c $d $f $o $s $u $x Set the print style
SGn SPn SRn SVn SWn SAn Store current value
Sn Select task n
S. Select current task
H Hold/Release selected task
K Disable/Enable clock interrupts
= Print current value
T+ Turn instruction tracing on
T- Turn instruction tracing off
Tn Print n consecutive locations
I Print current instruction
N Print next instruction
D Dump Cintcode memory to DUMP.mem
Q Quit -- leave the cintpos system
M Set/Reset memory watch address
B 0Bn eBn List, Unset or Set breakpoints
X (G4B9C) Set breakpoint 9 at start of clihook
Z (P1B9C) Set breakpoint 9 at return of current function
C Continue normal execution
\ Single step execute one Cintcode instruction
. ; [ ] Move to current/parent/first/next coroutine
, Move down one stack frame
a1#
The main additions as Sn to select a task, S. to select the current task and H
to hold or unhold the currently selected task. Since interrupts (particularly from the