Community
Participate
Working Groups
1- launch an application with GDB >= 7.2 2- set a breakpoint 3- restart the process 4- notice that the breakpoint is no longer installed in GDB I believe I broke this in Bug 336890, because we uninstall breakpoints once a process exits, but we do not re-install them when it restarts. I don't think that an uninstall/re-install approach will work because we need to re-install the breakpoints before the process starts, to make sure they are ready. In the case of a restart, it means we need re-install them before the process dies, since the process dies and restarts in a single GDB operation. So, we would install the breakpoints, but once we did the restart, we would detect the process death and we would uninstall the breakpoints! Instead, I think we should avoid uninstalling breakpoints in the case of a restart.
Created attachment 194661 [details] Fix This patch keeps a set of processes that are being restarted and for those processes, we do not uninstall breakpoints. I used a set although we currently can only restart one process at a time. If we ever support restarting multiple processes at once (using multi-select for example), we would need such a set. Committed to HEAD.
Fixed
*** cdt cvs genie on behalf of mkhouzam *** Bug 344636: Breakpoints disappear when restarting the inferior [*] GDBProcesses_7_2.java 1.13 http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cdt/dsf-gdb/org.eclipse.cdt.dsf.gdb/src/org/eclipse/cdt/dsf/gdb/service/GDBProcesses_7_2.java?root=Tools_Project&r1=1.12&r2=1.13 [*] GDBProcesses_7_0.java 1.50 http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cdt/dsf-gdb/org.eclipse.cdt.dsf.gdb/src/org/eclipse/cdt/dsf/gdb/service/GDBProcesses_7_0.java?root=Tools_Project&r1=1.49&r2=1.50