[TUHS] v6 debugging
brantleycoile at me.com
Sun Jan 24 03:25:21 AEST 2016
I had a pdp-11/73 on which I ran 7th Edition. I debugged with print’s out the console. Usually I had a subroutine that would dump the registers including the PC, so I knew where it was. I used adb to get the absolute addresses.
The ’73 also had a very simple debugger, ODT, built into the microcode. I never used it much, preferring to use printf in the C code and puts, puthex and snap in the assembler code.
I still use this technique working with our Plan 9 system today.
> On Jan 23, 2016, at 11:58 AM, Will Senn <will.senn at gmail.com> wrote:
> I'm finally returning to my study of v6 after digging a bit further into assembly language and "other" pdp-11 operating systems. I even managed to get hello, world working in assembly in v6 and interestingly enough, I actually see how it works... for the most part :). Mini-note here:
> My question for y'all today is as follows (asked previously with a much larger gap in understanding):
> How did folks debug assembly routines in Unix v6, back in the day?
> I realize that most folks didn't do assembly, but some did and I'm curious what their approach might have been.
> After having worked with RT-11 for a bit, I can see how I might develop using RT-11 and then "port" a program across, but that seems less than ideal. Here is my short list of missing features as I see them:
> 1. No listing file/cross reference list created by as.
> 2. No map file created by ld.
> 3. No debugger that I can find.
> 4. This is not a missing feature, but it deserves inclusion in the list, the command as has possibly the most terse error messages I have ever seen - B 12? Really? Thankfully, the awesome man command comes to the rescue with the list of error codes.
> My workarounds include using OD to view the generated machine code and adding mesg calls.
More information about the TUHS