Bug 3256

Summary: External trap events should be handled
Product: frysk Reporter: Mark Wielaard <mark>
Component: generalAssignee: Mark Wielaard <mark>
Status: RESOLVED FIXED    
Severity: normal    
Priority: P2    
Version: unspecified   
Target Milestone: ---   
Host: Target:
Build: Last reconfirmed:
Bug Depends on:    
Bug Blocks: 1522    

Description Mark Wielaard 2006-09-25 14:22:18 UTC
If a program generates a trap event itself, not associated with a currently set
breakpoint we need to handle that nicely. Currently we crash and burn in our
"sanity check" when BreakpointAddresses sees we are trying to handle a
non-existing breakpoint.

And example is tracing emacs with frysk.
Comment 1 Mark Wielaard 2006-10-05 12:08:50 UTC
2006-10-05  Mark Wielaard  <mark@klomp.org>

    * funit-breakpoints.c (trap_handler): New function.
    (dummy): Send trap signal and generate trap event.
    (main): Install trap signal handler.

2006-10-05  Mark Wielaard  <mark@klomp.org>

    * Breakpoint.java (getAddress): New method.
    * BreakpointAddresses.java (getCodeObservers): Return null when
    no observers installed on the specified address.
    * Task.java (steppingBreakpoint): New package private field.
    (notifyCodeBreakpoint): Return -1 when no observers at specified
    address.
    * TaskState.java (Running.steppingBreakpoint): Removed field.
    (Running.handleTrappedEvent): Check whether trap is for one
    of our own installed breakpoints, handle it as a regular trap
    signal to process otherwise.