2016-03-29 46 views
6

我有一个ncurses程序,我想用CLion交互式调试。问题是,当我在CLion中运行程序进行调试时,运行程序的内置控制台不能正确显示ncurses程序的输出。CLion在单独的系统终端中运行程序

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

有没有办法做到这一点?

回答

2

在其它的调试器,则可以通过将在终端运行的ncurses应用程序,并安装调试器使用ncurses过程做到这一点。

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

附加特点是CLions调试器最近推出的功能:

延伸阅读:

3

来完成,这是使用GDB现在可真是令人沮丧的开始,你因此不适节目我如何完成它在Linux的最佳方式

  1. 打开一个终端并转到您的项目调试文件,并键入gdbserver localhost:1234 ./myFile
  2. 开放克利翁以MyFile的项目,并在右上角可以看到一个建立所有(或你的项目名称)点击它并转到“编辑配置”
  3. 在左上角你应该看到一个加号,点击它并按下“GDB远程调试”
  4. 然后在“target remote”在“路径映射”按十字型tcp:127.0.0.1:1234
  5. 下一页和Remote和位置
  6. 按OK键,在右上角输入/location/to/file/myFile(同一个文件中1)选择配置的名称,你只是并按调试

您可能需要尝试休息让gdbserver再一次为此工作,但如果您执行了上述所有步骤,则应该看到一个调试提示符,并且在终端上您应该看到您的项目正在运行。

这有一些限制,例如你总是需要在你的终端上运行gdbserver localhost:1234 ./myFile命令才能工作。

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

我希望这有助于:)

+0

反正是有调试器,当它连接到进程启动?我在启动时让我的'ncurses'项目在xterm窗口中运行。 – ZeroPhase

+0

我推荐使用端口2159,这是GDB远程调试的官方端口。 – DBX12