vishniac@wanginst.UUCP (Ephraim Vishniac) (07/03/85)
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
darin@tmq.UUCP (Darin Adler) (07/06/85)
> 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? Although I am not sure if the documentation ever mentions it, in MDS version 1.0 (the release, the one you pay for) the qualifiers work fine. Darin Adler ihnp4!tmq!darin