[net.micro.mac] Macsbug tip and IM vs. MDS question

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