[m-dev.] spypoints in external debugger

Erwan Jahier Erwan.Jahier at irisa.fr
Tue Sep 28 20:59:45 AEST 1999


| Now that I have the execution stopping for spypoints, I've another
| question.  Ideally, I'd like the debugger to be able to print on reaching
| a spypoint instead of stopping, as with the internal debugger.  What I had
| in mind was to provide additional return values to 
| forward_move_match_found, eg spypoint_matched and spypoint_matched_print.
| 'spypoint_matched' would be the same as forward_move_match_found, however,
| I'm unsure of how to handle the 'spypoint_matched_print' case.  I require
| details about the event that was matched so that it can be printed.
| However, I'll also need further information including stack information
| and variable values, etc. 

A 'current_slots' request lets you retrieve mostly anything about the current 
event (call number, depth, procedure, goal path,...) except :
* variable instantiations (that you can get with a 'current_vars' request)
* stacks (that you can get with 'stack', 'nondet_stack' and 'stack_regs') 

See debugger_request and debugger_response type in browser/debugger_interface.m
for more details.

| My question relates to how this should be
| implemented.  I envisage that after the external debugger sends
| 'spypoint_matched_print' it could be placed into a 'waiting' state, where
| the external process could request the additional data as required, and
| will resume execution only when it receives a continue request of some
| kind.  I would be grateful for any comments/ideas on this.

Well, it is exactly the way it is currently working. Once you have done a
"forward move", the debugger is in a waiting state: it is waiting for an other
'forward_move' request or a 'current_*' that will retrieve informations that can
(for example) be printed.

-- 
R1.


--------------------------------------------------------------------------
mercury-developers mailing list
Post messages to:       mercury-developers at cs.mu.oz.au
Administrative Queries: owner-mercury-developers at cs.mu.oz.au
Subscriptions:          mercury-developers-request at cs.mu.oz.au
--------------------------------------------------------------------------



More information about the developers mailing list