Helpful Features in a Debugger

Mouse mouse at Rodents-Montreal.ORG
Mon Feb 22 08:26:54 CST 2016


> 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


More information about the cctech mailing list