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.
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.