【问题标题】:GDB debugger doesn't work in Code::blocksGDB 调试器在 Code::blocks 中不起作用
【发布时间】:2015-09-10 18:34:53
【问题描述】:

信息:
操作系统:Ubuntu 14.04
IDE:代码::blocks 13.12
调试器:gdb 7.10

我是 code::blocks 的新手,正在尝试调试器,但它没有用。所以我在这里问你我能做些什么来找到这个问题的解决方案。

当我单击“进入”时,XTerm 控制台打开并显示以下消息:

警告:GDB:设置控制终端失败:不允许操作

而且输出在任何地方都看不到。

【问题讨论】:

  • 为什么你认为它不起作用?你试过设置断点吗?您希望看到什么?
  • 我认为它不起作用,因为在控制台中看不到任何程序应该输出的内容,但是如果正常运行程序,我可以读取预期的输出。断点没有任何改变,程序应该输出经典的“Hello World!”。
  • 更新:如果在最后一个 cout 之后有一个 endl,那么我可以看到每个正确的输出。所以我想说问题已经解决了:D
  • @Sven 如果你已经解决了你的问题,你应该要么删除这个无用的内容,要么考虑自己为你的问题写一个答案。
  • @πάνταῥεῖ 你觉得我编辑问题的方式好吗?我决定离开这个帖子,以便其他有同样愚蠢问题的人找到解决方案。

标签: c++ debugging gdb codeblocks


【解决方案1】:

我发现没有真正的问题,我只需要用“endl”结束我试图查看的行

我试图在调试会话中执行,但看不到:

 cout << "Hello World!";

什么解决了问题,让我可以在调试器中看到输出:

 cout << "Hello World!" << endl;

【讨论】:

    【解决方案2】:

    确实,您需要刷新缓冲流(即,fflush 用于FILE*.flush 用于std::stream-s)。

    但您不需要任何 IDE 即可运行 gdb。您可以在普通终端中运行它,尝试gdbgdb -tuigdb --args or in Emacs

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-12-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多