Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: version B 2.10.2 9/18/84; site watdcsu.UUCP Path: utzoo!watmath!watnot!watdcsu!herbie From: herbie@watdcsu.UUCP (Herb Chong - DCS) Newsgroups: net.unix Subject: Re: how does adb/dbx work? (hardware debugging facilities) Message-ID: <1601@watdcsu.UUCP> Date: Tue, 13-Aug-85 11:11:43 EDT Article-I.D.: watdcsu.1601 Posted: Tue Aug 13 11:11:43 1985 Date-Received: Sat, 17-Aug-85 13:26:05 EDT References: <410@uvm-cs.UUCP> <456@ittvax.ATC.ITT.UUCP> Reply-To: herbie@watdcsu.UUCP (Herb Chong - DCS) Organization: U of Waterloo Lines: 36 Summary: In article <456@ittvax> goldman@ittvax (Ken Goldman) writes: >Maybe I can help with some PDP11 insight. First, hardware single step >is out of the question in a multi-user system. The way the PDP11 >debuggers work is by replacing the instruction to be traced with a >trap instruction. Then the software runs full speed until it hits the >trap, at which point you enter the debug software. At that point you >can examine registers, memory, etc. just a side note here. when using the PER debugger on an IBM VM/SP system, the hardware PER facility is enabled. you can specify an address range where virtual storage modification, instruction fetch or branching causes an interrupt. the real machine operating system CP handles this interrupt and gives the appearance of single step execution to the users. our 4341's have supported about 25 users simultaneously running PER of programs while supporting an additional 80 or so users on the machine. response was noticably degraded since an interrupt was generated for every instruction executed within the address ranges for each user using PER, and the virtual machine must run in 370 EC mode which requires faking empty page and segment table entries for the virtual DAT that goes on (see how messy it is to have virtual machines). 370 EC mode is required because the control registers that specify PER information are only available in EC mode. BC mode only provides what a 360 does, a PSW. this is of course debugging at the assembly language level only, though you can use PER on anything. in other words, hardware single step is practical provided your context switching includes switching of the hardware control information. Herb Chong... I'm user-friendly -- I don't byte, I nybble.... UUCP: {decvax|utzoo|ihnp4|allegra|clyde}!watmath!water!watdcsu!herbie CSNET: herbie%watdcsu@waterloo.csnet ARPA: herbie%watdcsu%waterloo.csnet@csnet-relay.arpa NETNORTH, BITNET, EARN: herbie@watdcs, herbie@watdcsu