CLion在独立的系统终端中运行程序

时间:2016-03-29 10:04:13

标签: c++ debugging terminal ncurses clion

我有一个ncurses程序,我想使用CLion进行交互式调试。问题是,当我在CLion中运行程序进行调试时,运行程序的内置控制台无法正确显示ncurses程序的输出。

我希望程序在我的系统终端中运行,这样我就可以在使用CLions调试器调试程序时正确看到输出。

有没有办法做到这一点?

2 个答案:

答案 0 :(得分:3)

实现这一目标的最好方法是使用GDB,现在开始真的很令人沮丧,所以我会告诉你我是如何在linux中完成它的

  1. 打开终端并转到项目调试文件并输入gdbserver localhost:1234 ./myFile
  2. 打开clion到myFile项目,在右上角你应该看到一个构建所有(或你的项目名称)点击它然后转到“编辑配置”
  3. 在左上角你应该看到一个加号,点击它然后按“GDB远程调试”
  4. 然后在“目标远程”类型tcp:127.0.0.1:1234
  5. 接下来在“路径映射”中按加号并在远程和位置中键入/location/to/file/myFile(与1.中相同的文件)
  6. 按确定,然后在右上角选择您刚刚进行的配置名称,然后按debug
  7. 你可能需要再次尝试重新启动gdbserver才能使用它,但是如果你完成了上述所有步骤,你应该会看到一个调试提示,在终端上你应该看到你的项目正在运行。

    这有一些限制,例如,您必须在终端上运行gdbserver localhost:1234 ./myFile命令才能使其正常工作。

    一些帮助我的视频/文档:

    我希望这有助于:)

答案 1 :(得分:2)

在其他调试器中,您可以通过在终端中运行ncurses应用程序,并使用ncurses 调试程序附加到进程来执行此操作。

这样做可以避免ncurses(更改终端I / O模式)与调试器命令行之间的干扰。

attach 功能是CLions调试器最近发布的功能:

进一步阅读: