/*************************************************************** * breakpoint-related definitions for PL/I symbolic debugger * ***************************************************************/ dcl 1 brkdef static external, /* save information on current breakpoint in separate variables: (can't just save the subscript in breakpoint table, since user can cancel current breakpoint & set a new one) */ 2 userbreakstatement fixed bin(15), 2 userbreaklabel fixed bin(15), 2 userbreakoverlay fixed bin(15), /*break location is called userpc, defined in brksymdef*/ /*break module is defined by default_module, in brksymdef*/ 2 user_passall fixed bin(15), /*save user's passall mode for TI: **later?*/ 2 user_attached fixed bin(1), /*true if user had TI: attached when current breakpoint occurred*/ /*ti_attached (whether debugger currently has TI: attached) is in brksymdef*/ 2 overlay_breakpoints fixed bin(7) initial(0), /*number of breakpoints in overlays*/ 2 error_address fixed bin(15), /*address in user task of .ERROR, for breakpoints on condition raisings*/ 2 stop_address fixed bin(15), /*address in user task of .STOP*/ 2 break char(12) initial(' BREAK BR B '), /* breakpoint table: */ 2 unused fixed bin(15) initial(0), /*value for location & overlay fields, **maybe later*/ 2 to_be_determined fixed bin(15) initial(-1), /*value for instruction field **temp: & also for location field*/ 2 by_octal_address fixed bin(15) initial(0), /*value for statement field*/ 2 overlay_loader fixed bin(15) initial(0), /*zero'th breakpoint slot reserved for breakpoint in overlay loader*/ 2 breakpoint(0:32), 3 statementn fixed bin(15), /*statement number, or by_octal_address*/ 3 label fixed bin(15), /*virtual addr in symbol table of label or procedure, or 0 if none*/ 3 location fixed bin(15), /*address in user task of breakpoint, or 0 meaning this slot is unused*/ 3 overlay fixed bin(15), /*address in user task of overlay segment descriptor, or 0 if slot unused*/ 3 module fixed bin(23), /*file address of module hash record*/ 3 prolog fixed bin(15), /****temp for finding statement address at overlay loader time*/ 3 instruction fixed bin(15), /*contents of location before we put a BPT instruction there, or to_be_determined*/ 3 aftercount fixed bin(15), /*1 + # of breakpoints remaining to skip (decremented each time)*/ 3 do_number fixed bin(15), /*for making a debprocedure name, or 0 if no do group*/ 3 do_fileaddr fixed bin(23), /*fileaddr in workfile of do-group to short-cut hashing, or null_fileaddr*/ 3 to_be_cancelled fixed bin(1), /*true if waiting for memory-mapped overlay to be mapped for deferred cancel*/ 3 overlay_unmapped fixed bin(1); /*true if overlay this breakpoint is in is not currently mapped/loaded*/ /*not necessarily false if mapped/loaded*/ /* first item is called statementn rather than statement because compiler wont allow that when there is a procedure named statement, even though it would not be ambiguous, and even though we fully qualify all references */