我有一个ncurses
程序,我想使用CLion进行交互式调试。问题是,当我在CLion中运行程序进行调试时,运行程序的内置控制台无法正确显示ncurses
程序的输出。
我希望程序在我的系统终端中运行,这样我就可以在使用CLions调试器调试程序时正确看到输出。
有没有办法做到这一点?
答案 0 :(得分:3)
实现这一目标的最好方法是使用GDB,现在开始真的很令人沮丧,所以我会告诉你我是如何在linux中完成它的
gdbserver localhost:1234 ./myFile
tcp:127.0.0.1:1234
/location/to/file/myFile
(与1.中相同的文件)你可能需要再次尝试重新启动gdbserver才能使用它,但是如果你完成了上述所有步骤,你应该会看到一个调试提示,在终端上你应该看到你的项目正在运行。
这有一些限制,例如,您必须在终端上运行gdbserver localhost:1234 ./myFile
命令才能使其正常工作。
一些帮助我的视频/文档:
我希望这有助于:)
答案 1 :(得分:2)
在其他调试器中,您可以通过在终端中运行ncurses
应用程序,并使用ncurses
将调试程序附加到进程来执行此操作。
这样做可以避免ncurses
(更改终端I / O模式)与调试器命令行之间的干扰。
attach 功能是CLions调试器最近发布的功能:
进一步阅读: