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

CS *_*ent 11 c++ debugging terminal ncurses clion

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

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

有没有办法做到这一点?

Gla*_*r11 6

实现这一点的最佳方法是使用 GDB 现在开始可能真的很令人沮丧,所以我将向您展示我如何在 linux 中完成它

  1. 打开终端并转到您的项目调试文件并键入 gdbserver localhost:1234 ./myFile
  2. 打开 clion 到 myFile 项目,在右上角你应该看到一个 build all(或你的项目名称)点击它并转到“编辑配置”
  3. 在左上角你应该看到一个加号,点击它并按“GDB远程调试”
  4. 然后在“目标远程”类型中 tcp:127.0.0.1:1234
  5. 接下来在“路径映射”中按加号并/location/to/file/myFile在远程和位置中键入(与 1 中的文件相同。)
  6. 按OK,然后在右上角选择您刚刚进行的配置的名称,然后按debug

您可能需要再次尝试重新启动 gdbserver 才能使其工作,但是如果您执行了上述所有步骤,您应该会看到一个调试提示出现,并且在终端上您应该会看到您的项目正在运行。

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

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

我希望这有帮助:)


Tho*_*key 3

在其他调试器中,您可以通过ncurses在终端中运行应用程序并使用ncurses.

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

Attach功能是 CLions 调试器最近发布的一项功能:

进一步阅读: