On Sat, Jun 19, 2021 at 11:05 AM Henry Bent <henry.r.bent@gmail.com> wrote:
From what I can gather the only way to reasonably examine the disassembly of a program in the early days of Unix was adb.  Is this true?
From Research, yes - although sdb and later dbx could do it also I think.

 
Was there a way to easily produce a full disassembly? 
Yes, look at the contents in the early USENIX (Harvard) tape.  IIRC: Along with the macro-11 assembler and linker, there was also a disassembler -- I want to say it was done at Cooper Union, but it may have been someone else[The CU folks got the DEC PDP-10 BLISS binary to run on an emulator 'good enough' on their 11/45 to they could 'port' the DEC Fortran compiler to V6.  They used/built up PDP-11 tools to support that project].

BTW: there was a version of the DEC DDT that was on those early tapes too that somebody wrote.   I started with DDT on V6 because I was coming over from the DEC OS world of PDP-10's and RT-11 and adb did not yet exist.   But IIRC it was fragile, had issues when V7 came out, so I just taught myself adb when it appeared.

There was an even better set of assembly/disassembly/link tools  from 'down-under' on ??maybe? the Delaware tape.  Plus, Purdue released a ton of microprocessor tools, which included PDP-11 support.  All of them tried to use the symbol table to reconstruct things like jsr's and memory access.  Somebody [IIRC it was Phil Karn but I don't remember] tried to do some instruction pattern matching / early AI stuff, to see if they could reconstruct some of the code with some human help.  As I recall he could pick up pointers and if given some header files for sizes would try to match code snippets, but I have no idea how he got or what happened too it.

 
I'll confess to being fairly ignorant of adb use since I always had dbx or the equivalent available.