If you try to leave the debug environment with the wrong subcommand you
receive the message:
INCORRECTDEBUG EXIT and you have to enter the proper USING SYMBOLS WITH DEBUG To simplify the process of debugging in the CMS debug environment, you
can use theORIGIN and DEFINE subcommands. The ORIGIN command allows
you to set an instruction location to serve as the base for all the
addresses you specify. For if you specify:
origin20000 then, to refer to your virtual storage location 201BC, you only need to
enter:
x 1bc
By setting theDEBUG origin at your program's base address, you can
refer to locations in your program by the virtual storagenumbers in the
listing, rather than having tocompute the actual virtual storage
address each time. The currentDEBUG origin stays in effect until you
set it to a different value or until you reloadCMS (with the IPL command) • You can use the DEFINE subcommand to assign symbolic names to storage
locations so that you can reference those locations by symbol, rather
than by storage address. For example, suppose that during aDEBUG session you will repeatedly be examining three particular storage
locations labeled in yourprogram NAME1, NAME2, and They are at
locations20EFO, 20EFA, and 20F04. Enter:
load nameprog
debug
origin20000 define name1
define name2
define name3
break
return
start
1a04 EFO 10 EFA 10 F04 10 When the specified breakpoint is encountered, you can examine these
storage areas by entering:
xnamel x name2
x name3You can also refer to these symbols by name when you use the STORE subcommand:
store name2 c4c5c3c5c1e4e5d6c9d9
The names you specify do not have to be the same as the labels in the
program; you can define any name up to eight characters.
Figure 17 summarizes theDEBUG subcommands.
214IBM VM/370 CMS User's Guide
receive the message:
INCORRECT
can use the
you to set an instruction location to serve as the base for all the
addresses you specify. For
origin
enter:
x 1bc
By setting the
refer to locations in your program by the virtual storage
listing, rather than having to
address each time. The current
set it to a different value or until you reload
locations so that you can reference those locations by symbol, rather
than by storage address. For example, suppose that during a
locations labeled in your
locations
load nameprog
debug
origin
define name2
define name3
break
return
start
1
storage areas by entering:
x
x name3
store name2 c4c5c3c5c1e4e5d6c9d9
The names you specify do not have to be the same as the labels in the
program; you can define any name up to eight characters.
Figure 17 summarizes the
214