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-boun...@classiccmp.org> on behalf of Mouse <mo...@rodents-montreal.org> Sent: Monday, February 22, 2016 6:26 AM To: cctalk@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 mo...@rodents-montreal.org / \ Email! 7D C8 61 52 5D E7 2D 39 4E F1 31 3E E8 B3 27 4B