[Bug breakpoints/21497] FreeBSD: infrun.c:5565: internal-error: int finish_step_over(execution_control_state*): Assertion `ecs->event_thread->control.trap_expected' failed

jlott1 at yahoo dot com sourceware-bugzilla@sourceware.org
Fri May 19 16:27:00 GMT 2017


--- Comment #2 from jlott1 at yahoo dot com ---
I did a little more digging. I think the problem is that a brand-new thread is
non-suspended by default. GDB has not yet been informed about this nascent
thread, so it doesn't know to suspend it when it suspends the other threads for
single-step mode. As a workaround, I keep track in fbsd-nat.c if we are in
single-stepping mode. If I'm informed of a new thread while single-stepping, I
suspend the new thread and continue the process directly. I report the event
itself as an "ignore" to the core. I'll attach the patch. The code could use a
little improvement (use of the global var in particular is probably not good
for multiple inferiors), but it shows the basic idea.

You are receiving this mail because:
You are on the CC list for the bug.

More information about the Gdb-prs mailing list