Community
Participate
Working Groups
When I run CDI with GDB 6.8 or 7.0 on Windows 7 (I didn't try anything else), I can hang the debug session by stepping over a method that creates a lot of output. 1- Debug the program below on Windows with CDI (maybe affects Linux too?) 2- step over the call to 'foo(0)' => the debug session hands the _inferior_ console shows a *stopped event which makes me guess that is the event that CDI misses and that is why it hangs. #include <stdio.h> void foo(int i) { if (i >= 200) return; foo(i+1); printf("The value of the integer variable i is %d\n", i); } int main() { int de = 99; foo(0); return 0; }
The is the trailing end of the inferior console The value of the integer variable i is 9 The value of the integer variable i is 8 The value of the integer varia*stopped,reason="end-stepping-range",frame={addr="0x004013e5",func="main",args=[],file="..\\src\\TestDSFGDB.c",fullname="C:/Users/Marc/runtime-DSFGDB/Test DSFGDB/.settings/..\\src\\TestDSFGDB.c",line="12"},thread-id="1",stopped-threads="all"
I just noticed that the inferior output also is printed in the GDB console!
I can reproduce this on Linux when I turn off "Connect I/O to terminal" The GDB output has the *stopped event right in the middle of a printout ... [1,273,670,114,345] out of fool 176,0 [1,273,670,114,345] out of fool 175,0 [1,273,670,114,346] out of fool 174*stopped,reason="end-stepping-range",frame={addr="0x08048c43",fun\ c="main",args=[],file="../src/DSFTestApp.cpp",fullname="/local/lmckhou/runtime-TestDSF/DSFTestApp/sr\ c/DSFTestApp.cpp",line="664"},thread-id="1",stopped-threads="all" [1,273,670,114,346] (gdb)
(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