当程序尝试读取控制台输入时,ddd调试器进入无限循环 当C++程序从 CIN < /代码>中读取时,DDD提供了“1”,而不是让我在控制台中键入输入。由于程序读取交互命令,“1”是无效命令,而ddd似乎有无限多的交互命令,结果是“无效命令”输出的无限循环
有没有人遇到过这种行为,并且知道如何克服这种情况?我感到非常沮丧,在21世纪我不得不使用命令行gdb,就像20年前我在学校做的那样。eclipse的内置调试器太慢,没有用处 ddd版本是3.3.11。代码片段:当程序尝试读取控制台输入时,ddd调试器进入无限循环 当C++程序从 CIN < /代码>中读取时,DDD提供了“1”,而不是让我在控制台中键入输入。由于程序读取交互命令,“1”是无效命令,而ddd似乎有无限多的交互命令,结果是“无效命令”输出的无限循环,c++,linux,debugging,ddd-debugger,C++,Linux,Debugging,Ddd Debugger,有没有人遇到过这种行为,并且知道如何克服这种情况?我感到非常沮丧,在21世纪我不得不使用命令行gdb,就像20年前我在学校做的那样。eclipse的内置调试器太慢,没有用处 ddd版本是3.3.11。代码片段: while (true) { cout << greeting; string cmd; cin >> cmd; if (cmd == "e") { // etc. while(true) { cout>cm
while (true)
{
cout << greeting;
string cmd;
cin >> cmd;
if (cmd == "e")
{
// etc.
while(true)
{
cout>cmd;
如果(cmd==“e”)
{
//等等。
您可能需要使用Nemiver debugger。它有gnome控制台选项卡,您可以在其中与应用程序交互,就像不使用debugger一样
你真的应该使用GDB。试试Insight GDB gui。这不是你问题的答案,但如果DDD不能帮你解决问题,你可能想看看Insight调试器-它是另一个GDB前端,但比DDD更轻。虽然这没有帮助,但对我来说效果很好。仅供参考,DDD是一个GDB gui,就像Insight一样。即便如此,删除gui的抽象有时可以提供更高级别的控制。但这取决于gui。