1

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.
sth
  • 222,467
  • 53
  • 283
  • 367
davka
  • 13,974
  • 11
  • 61
  • 86
  • Not an answer to your question, but if DDD isn't cutting it for you, you might want to take look at the insight debugger at http://sourceware.org/insight/ - it's another gdb front-end, but more lightweight than DDD. –  Feb 09 '10 at 10:24
  • While this doesn't help, it works fine for me. – R Samuel Klatchko Feb 14 '10 at 06:11

2 Answers2

0

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
  • 1,105
  • 11
  • 14
0

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

Sei Satzparad
  • 1,137
  • 1
  • 9
  • 12