Community
Participate
Working Groups
Build Identifier: 20100218-1602 When using the run-to-line function to run to code inside of another function than the active one, it behaves as continue/Resume instead. Unable to pause/suspend the execution for further debugging/stepping. After run-to-line command has been given, and you press suspend, the following message is displayed: Execution is suspended because of error: Quit (expect signal SIGINT when the program is resumed) Reproducible: Always Steps to Reproduce: 1. Use following code in a standard empty c project: #include<stdio.h> int test(int e) { return ++e; } int main(void){ int i = 0; while (1) { if (i % 100000 == 0) printf("i: %d\n", i); i = test(i); } return 0; } 2. Start the debug session with gdb and stop at main 3. Place the cursor on line 11 (printf line) and press Ctrl+r or right-click and choose run to line. This works. 4. Now, place the cursor on line 4 (return statement of test()) and press Ctrl+r or right click and choose run to line. The debugger now is resumed and never gets to the return statement. If we pause/suspends the execution the following message is displayed: Execution is suspended because of error: Quit (expect signal SIGINT when the program is resumed)
For CDI-GDB, the run-to-line support does not work if you select another method. This is because is uses -exec-until which does not stop in that case. If you use DSF-GDB instead, it will work as you expect. As for the interrupting, I'm not sure about it too much but I know there has been lots of efforts to improve things for Helios as part of Bug 304096.
(this is part of a batch change) The CDI debug implementation has been removed in CDT 9.0. Please see bug 484900 and the entry on the New and Noteworthy page https://wiki.eclipse.org/CDT/User/NewIn90#API_modifications