Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: version B 2.10.2 9/5/84; site wanginst.UUCP Path: utzoo!watmath!clyde!bonnie!akgua!whuxlm!harpo!decvax!wanginst!vishniac From: vishniac@wanginst.UUCP (Ephraim Vishniac) Newsgroups: net.micro.mac Subject: Macsbug tip and IM vs. MDS question Message-ID: <770@wanginst.UUCP> Date: Wed, 3-Jul-85 08:46:05 EDT Article-I.D.: wanginst.770 Posted: Wed Jul 3 08:46:05 1985 Date-Received: Fri, 5-Jul-85 07:17:32 EDT Distribution: net Organization: Wang Institute, Tyngsboro, Ma. 01879 Lines: 27 While using Macsbug last night, I discovered something that others may find useful: Don't execute (G or S) with a breakpoint set on a trap word! While executing, Macsbug replaces the instructions at breakpoints with some sort of debugger trap. Since some trap routines examine the word that invoked them to determine certain bit settings, they'll get the wrong answer if a breakpoint is set there. For example, I set a breakpoint on a _Open trap so that I could verify my parameter block before entering the trap. After checking the parameters, I set another breakpoint after the trap (didn't clear the first one) and used "G". _Open didn't work. Only when I stepped through it did I realize what was happening. Now, the question. IM specifies qualifiers to many traps, such as "SYS", "ASYNC", or "IMMED". It says that the proper syntax is to place these qualifiers after the trap name, for example _RecoverHandle,SYS. Using MDS version 0.7, I've *never* been able to assemble such a qualified trap. The MDS documentation is silent on the subject. Does anyone know what the answer is? -- Ephraim Vishniac [apollo, bbncca, cadmus, decvax, harvard, linus, masscomp]!wanginst!vishniac vishniac%Wang-Inst@Csnet-Relay