While the debugger in question will be for the PDP-11 set of instructions
executing under RT-11 (what else would I be asking about), the features
needed are the same for most other environments. I am looking for
helpful suggestions as to what has been found useful.
Obviously, single stepping through a program is really helpful as is
the display of each instruction that is executed in a manner similar
to what is seen in the assembler listing. Also essential is the ability
to display the values of all registers and anywhere in memory while
stopped at any given instruction.
A number of other ideas are as follows:
(a) During a multi-step sequence, stop the sequence when the
stack has more then a specified number of words of increase
or decrease - each specified separately
(b) Set the address range within which the stack must remain
or a multi-step sequence is stopped which is similar to (a),
but expressed differently
(c) Set the address range within which the program counter
must remain or a multi-step sequence s stopped
Also possible to be checked are specified values that registers
have, or don't have, which stop a multi-step sequence. Checks
on memory locations can also be included.
And a record of which instructions were executed by saving
the program counter addresses in a circular buffer allows the
user to check for unexpected execution of certain parts of
the code.
An evaluation of all of the above would be appreciated,
especially the last two paragraphs in respect of how useful
each might be since the overhead is quite CPU intensive
when included any implementation. On the other hand,
any time the user single steps through the code, the CPU
overhead from the debugger is extremely CPU intensive
in the first place.
All suggestions and comments are much appreciated!!!!!!!!!
Jerome Fine