views:

107

answers:

2

when a C++ program reads from cin, the ddd provides it with "1" instead of letting me type the input in its console. Since the program reads interactive commands, "1" is an invalid command and ddd seems to have an infinite supply of them, the result is an infinite loop of "invalid command" output.

Have anybody encountered such behavior and knows how to overcome this? I feel so frustrated that in the 21st century I have to use a command-line gdb, as I did in the school 20 years ago. eclipse's built-in debugger is too slow to be useful.

ddd version is 3.3.11. the code snippet:

while (true)
{
    cout << greeting;
    string cmd;
    cin >> cmd;

    if (cmd == "e")
    {
      // etc.
A: 

You might want to use Nemiver debugger. It has gnome-console tab where you can interact whith your application as you would do it without debugger.

http://www.gnome.org/projects/nemiver

kepkin
A: 

You really should use GDB. Try out the Insight GDB gui. http://sourceware.org/insight/

Seisatsu
FYI, ddd is a gdb GUI just like Insight.
R Samuel Klatchko
Even so, removing the abstraction of a gui can sometimes give a greater level of control. It depends on the gui though.
Seisatsu