- By the original design, the debugger allows thread context switching only
interactively, while in the Call Stack pane (in Stopped mode). This is
being handled directly through GtkTreeView::cursor-changed event.
- However, this event was also getting triggered when clearing the latest
thread's Call Stack after continuing the execution (Running mode).
- This behavior does not seem to have being intended, and it lead to a
number of issues: stepping hangs, corruption of GDB output processing,
unnecessary attempts at opening of source files corresponding to thread's
call-stack frames.
- To avoid all of these issues, GtkTreeView::cursor-changed event is left
unhandled while clearing the frames. Also the handler for thread-context
switching is allowed processing only in debugger's Stopped mode to enforce
the intended behavior.
Fixes #1069
You can view, comment on, or merge this pull request online at:
https://github.com/geany/geany-plugins/pull/1170
Commit Summary
- 40b78a6 Debugger: Fix debugging of multi-threaded programs
File Changes
(2 files)
Patch Links:
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you are subscribed to this thread.Message ID: <geany/geany-plugins/pull/1170@github.com>