Debugger module commands
Charles Ferguson (8243) 427 posts |
Hiya, I’ve now finished the major commands in the Debugger module, and I’m considering the additional debugging commands. The commands…
… aren’t currently provided, but they’re not really all that useful in general (in my opinion). Does anyone actually use those commands? Actually, usefully use them, I mean. Because if not, they’re probably not going to get implemented. Unless I’m feeling particularly bored. Or someone else wants to PR them. |
Jon Abbott (1421) 2651 posts |
I certainly use them, I was using them last week to check some register values at a particular point in some code. *Debug I use daily, primarily so I know I’m in a debug session and have not been dropped to Supervisor. They’re not something the average user would touch, granted, but if you’re debugging assembler they’re quite useful. If your plan is to submit a replacement for Debugger, something I would find useful is a means to get a direct entry address of the Disassemble SWI as I call it when the machine is in an indeterminate state to display real-time debugging, and ideally want to avoid SWI dispatch. Something to consider is C’s reliance on stacks being MB aligned. The sorts of things I’m debugging quite often alter the stack pointers and are not aligned, which isn’t an issue for the current debug Module as its assembler. |
Colin Ferris (399) 1814 posts |
Testing my memory – doesn’t ARMdebug use them and perhaps Rick’s debug prog. I think there was something about not using them in modules? |
David J. Ruck (33) 1635 posts |
I used to use them to manually decompress some old compressed programs which the normal tools wouldn’t handle. It could all be done at the F12 prompt with a *LOAD, acouple of MemoryI and BreakSet commands followed by a *SAVE. I strongly recommend keeping them. |
Ralph Barrett (1603) 154 posts |
!ARM_Debug uses the *BreakSet command.
!ARM_Debug uses BreakSet in the top-level BBC Basic programme, used for the WIMP front end. None of these debugger commands are used within the !ARM_Basic module. The !ARM_Basic module uses its own command (“step”) and a load of independent SWIs. Ralph ps. I strongly agree with Druck here btw… |
Rick Murray (539) 13840 posts |
+&FFFFFFFF. Sometimes Debugger is the best way to fiddle, and a debugger that doesn’t let one fiddle is, um… peculiar? |
Paolo Fabio Zaino (28) 1882 posts |
ouch, missed this thread! @ Gerph
+1 for me, I do use them, sorry for the late reply, just saw the thread. |
Charles Ferguson (8243) 427 posts |
These have been partially implemented – the *BreakSet, *BreakClr and *BreakList commands are implemented and the breakpoints are written, but the *Debug and *Continue are not, and the exception buffer isn’t updated properly. Next week’s Live Coding will have to finish that off. |
Colin Ferris (399) 1814 posts |
Can’t think of any extra command’s at the mo – anyone else think of some? Good project:-) |
Charles Ferguson (8243) 427 posts |
These commands have now been implemented in the recent live coding session. |