[m-dev.] proposed command set for the internal trace based debugger

Fergus Henderson fjh at cs.mu.OZ.AU
Wed Jun 3 00:35:50 AEST 1998


On 02-Jun-1998, Zoltan Somogyi <zs at cs.mu.OZ.AU> wrote:
> 
> Probably we need a third concept:
> 
> 	- all ports at all goal paths in the procedure (now a spy point)
> 	- all interface ports in the procedure
> 	- a given port at a given goal path in the procedure (now a break point)

I was thinking of spy points being the second of these, not the first.

I suggest calling these three concepts "trace points", "spy points",
and "break points" respectively.  I'm not sure how useful trace points
would be, though.  If you want to stop at all points in a procedure,
then typically you can just set a spy point on the procedure and then
use the "next" command [see below], or the "step" and "finish" commands
to step through it. 

Now, that reminds me: we should have a command similar to "next" in gdb
or "skip" in Prolog debuggers, with the following functionality:

	- if the current port is not a final port, then it should
	  continue until execution reaches another port for the same
	  predicate with the same call depth.

	- if the current port is a final port (EXIT or FAIL), then
	  it should do the same thing as "step"
	  (or possibly it should report an error message -- but
	  I think just stepping would be more useful)

I suggest this command be called "next", because it goes to the "next" port.

-- 
Fergus Henderson <fjh at cs.mu.oz.au>  |  "I have always known that the pursuit
WWW: <http://www.cs.mu.oz.au/~fjh>  |  of excellence is a lethal habit"
PGP: finger fjh at 128.250.37.3        |     -- the last words of T. S. Garp.



More information about the developers mailing list