Using all these features as part of specialized macros.
Sometimes I like just the disassembly of the line while single
stepping.
Sometimes I like just the registers.
Sometimes I like both and a small memory window.
Being able to combine things is useful, into a single keyboard character.
Of course, being able to patch in code, quickly written is another.
I use "stop when this expression evaluates true" type of action all the
time in my simulators that I write.
I do things in Forth so there is always an interpreter there to add what
ever is needed. I prefer to use simulators, now that PCs run so fast.
Dwight
________________________________________
From: cctalk <cctalk-bounces at classiccmp.org> on behalf of Mouse <mouse at
Rodents-Montreal.ORG>
Sent: Monday, February 22, 2016 6:26 AM
To: cctalk at
classiccmp.org
Subject: Re: Helpful Features in a Debugger
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.
These and many of the other stop conditions could possibly be subsumed
by a "stop when this expression evaluates true" facility, with
expression primitives capable of representing all the things you might
want to watch. It would of course be CPU-intensive if the expression
is complicated, but that's unavoidable, and I have occasionally wished
for "run until this number is greater than that number plus twice this
register" or the like, even if it runs multiple orders of magnitude
slower. (Not when running under RT-11, but that's mostly because I
have done little-to-no work under RT-11 at all.)
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.
I don't know how common self-modifying code is, but it might be nice to
be able to save not just the PC values but the actual instructions
executed. (I would hope deliberate self-modifying code is rare, but
IIRC some -11s don't have the MMU hardware to prevent accidental
self-modifying code - or execution out of areas not normally thought of
as instructions.)
/~\ The ASCII Mouse
\ / Ribbon Campaign
X Against HTML mouse at
rodents-montreal.org
/ \ Email! 7D C8 61 52 5D E7 2D 39 4E F1 31 3E E8 B3 27 4B