当程序尝试读取控制台输入时,ddd调试器进入无限循环

时间:2010-02-09 10:15:41

标签: c++ linux debugging ddd-debugger

当C ++程序从cin读取时,ddd为其提供“1”而不是让我在其控制台中键入输入。由于程序读取交互式命令,“1”是无效命令,ddd似乎无限量供给它们,结果是“无效命令”输出的无限循环。

是否有人遇到过此类行为并知道如何克服这个问题?我感到非常沮丧,在21世纪,我必须使用命令行gdb,就像我20年前在学校所做的那样。 eclipse的内置调试器太慢而无法使用。

ddd版本是3.3.11。代码片段:

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

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

2 个答案:

答案 0 :(得分:0)

您可能想要使用Nemiver调试器。它有gnome-console选项卡,您可以像在没有调试器的情况下那样与应用程序进行交互。

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

答案 1 :(得分:0)

你真的应该使用GDB。试试Insight GDB gui。 http://sourceware.org/insight/