In KeyKOS, we faced the problem of debugging factory code every day. The standard development factory building process placed a domain keeper over the yield of the factory which would pop up a debugger if the program trapped.
If you needed to get a debugger without a trap, you used the call on the factory builder's key "Get domain creator" to get the domain creator key the factory used to build the domain. Then you could take the start key and get a domain key. From there, putting a debugger on the domain was easy.
If you needed to debug the initialization code, you changed it to make it trap. :-)
Production code had a domain keeper which simply logged the domain key in a system database when a domain trapped.
OS simulation via a domain keeper passed traps through to the domain keeper which it didn't handle. There was also a protocol to add a debugger at the right level in the chain of domain keepers.
Bill Frantz | If hate must be my prison | Periwinkle -- Consulting
(408)356-8506 | lock, then love must be | 16345 Englewood Ave.
frantz@netcom.com | the key. - Phil Ochs | Los Gatos, CA 95032, USA