Debug Manual

Table Of Contents
Sample Debug Sessions
Debug Manual421921-003
F-2
Overview of Example Program
Example F-1. Example Source Code for SDEMO1
7.01 ?NOLIST, SOURCE $system.system.extdecs (DEBUG, FILE_OPEN_,
7.11 ? INITIALIZER, PROCESS_GETINFO_, PROCESSHANDLE_NULLIT_,
7.111 ? SEGMENT_ALLOCATE_, SEGMENT_USE_, WRITEREADX)
8 ?LIST
8.1 INT my_termnum;
8.101 INT process_handle [0:9];
8.11 STRING .EXT sp := %2000000D;
8.22 PROC example_init;
8.23 BEGIN
8.3 INT error_init;
8.301 INT .EXT handle_ptr;
8.302 STRING hometerm [0:47];
8.304 INT hometerm_len;
8.305 STRING .hometerm_ptr;
8.307 INITIALIZER; ! external system procedure
8.308 error_init := PROCESSHANDLE_NULLIT_ (process_handle);
8.31 error_init := PROCESS_GETINFO_ (process_handle,
8.311 !fname:max!, !fname-len!, !priority!,
8.312 !mom!, hometerm:48, hometerm_len);
8.313 error_init := FILE_OPEN_ (hometerm:hometerm_len, my_termnum);
8.317 IF error_init <> 0 THEN
8.32 DEBUG;
8.34 @hometerm_ptr := @hometerm [0];
8.341 @handle_ptr := $WADDR_TO_EXTADDR (@process_handle [0]);
8.35 END; -- example_init
9 PROC example_fill_array (array_num);
9.01 INT array_num;
9.1 BEGIN
9.101 INT count_read;
9.11 INT error_fill_array;
9.111 STRING .in_out_msg [0:47];
9.112 STRING .EXT segment_ptr;
9.114 error_fill_array := SEGMENT_USE_ (array_num);
9.12 IF error_fill_array <> 0 THEN
9.121 DEBUG;
9.122 sp [0] := array_num;
9.123 @segment_ptr := @sp [41];
9.124 in_out_msg [0] ':=' "enter some data" & %h0D0A; -- CR LF
9.13 WRITEREADX (my_termnum, in_out_msg, 17, 48, count_read);
9.14 segment_ptr ':=' in_out_msg [0] FOR count_read bytes;
9.2 END; -- example_fill_array
9.3 PROC example_main MAIN;
10 BEGIN
11.02 INT error_main;
11.03 INT error_detail;
12 example_init;
12.007 error_main := SEGMENT_ALLOCATE_ (1, 131064D, !filename;len!,
error_detail);
12.02 IF error_main <> 0 THEN
12.021 DEBUG;
12.022 error_main := SEGMENT_ALLOCATE_ (2, 131064D, !filename;len!,
error_detail);
12.03 IF error_main <> 0 THEN
12.031 DEBUG;
12.032 error_main := SEGMENT_ALLOCATE_ (17, 258000D, !filename;len!,
error_detail);
12.04 IF error_main <> 0 THEN
12.05 DEBUG;
12.2 example_fill_array (1);
12.3 example_fill_array (2);
13 example_fill_array (17);