| Summary: | Run to line in another function causes resume and error at suspend | ||
|---|---|---|---|
| Product: | [Tools] CDT | Reporter: | Samuel Hultgren <taortan> |
| Component: | cdt-debug-cdi-gdb | Assignee: | Project Inbox <cdt-debug-cdi-gdb-inbox> |
| Status: | RESOLVED WONTFIX | QA Contact: | Elena Laskavaia <elaskavaia.cdt> |
| Severity: | normal | ||
| Priority: | P3 | CC: | marc.khouzam, pawel.1.piech |
| Version: | 6.0.2 | ||
| Target Milestone: | --- | ||
| Hardware: | PC | ||
| OS: | Windows Vista | ||
| Whiteboard: | |||
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 |
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)