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