CLion在单独的系统终端中运行程序
CLion run program in separate system terminal
我有一个ncurses
程序,我想使用CLion进行交互调试。问题是,当我在CLion中运行程序进行调试时,运行该程序的内置控制台无法正确显示ncurses
程序的输出。
我想让程序在我的系统终端中运行,这样我就可以在使用CLions调试器调试程序时正确地看到输出。
有办法做到这一点吗?
实现这一点的最佳方法是使用GDB,现在开始使用它可能会非常令人沮丧,所以我将向您展示我是如何在linux 中实现它的
- 打开终端,转到项目调试文件并键入
gdbserver localhost:1234 ./myFile
- 打开clion到myFile项目,在右上角您应该会看到一个build-all(或您的项目名称),单击它并转到"编辑配置"
- 在左上角,您应该看到一个加号,单击它并按"GDB远程调试"
- 则在"目标远程"中键入
tcp:127.0.0.1:1234
- 接下来,在"路径映射"中,按加号并在Remote和Location中键入
/location/to/file/myFile
(与1中的文件相同) - 按OK,然后在右上角选择刚才进行的配置的名称,然后按debug
您可能需要再次尝试重新启动gdbserver才能正常工作,但如果您完成了上面的所有步骤,您应该会看到一个调试提示,并且在终端上您应该看到您的项目正在运行。
这有一些限制,例如,您必须在终端上运行gdbserver localhost:1234 ./myFile
命令才能使其工作。
一些帮助我的视频/文档:
- 33:35用GDB调试(JetBrain视频)
- Jetbrain上的GDB文档
我希望这有帮助:)
在其他调试器中,您可以通过在终端中运行ncurses
应用程序,并使用ncurses
将调试器附加到进程来实现这一点。
这样做可以避免ncurses
(它会更改终端I/O模式)和调试器的命令行之间的干扰。
attach功能是CLions调试器最近发布的功能:
进一步阅读:
- 更强大的调试能力:连接到本地进程(2016年1月20日)
- CLion 1.2路线图(2015年8月31日)
- CLion调试(2015年5月8日)
- CLion回答常见问题(2014年9月16日)
- 用gdb调试ncurses应用程序
- 使用GNU的GDB调试器:调试Ncurses程序
相关文章:
- 运行程序时出现问题
- 分段错误当我试图运行程序时出错
- C++ 每次运行程序时我都会"nan"输出的问题
- 通过 g++ 运行程序时没有这样的文件或目录
- 重新运行程序和字符串流?
- 无法在 VS Code 上使用代码运行程序运行C++文件
- 使用有限的 RAM 运行 c++ 程序
- 继续运行程序而无需任何干预,直到要求退出为止
- 如何在每次运行程序时写入文件的下一行?
- 控制台在运行C ++程序后立即关闭(无需调试)
- 运行程序时找不到共享对象库,但在编译过程中链接了它
- 远程运行程序
- 在 Heroku 上运行 C++ 程序
- 如何在Powershell中运行C++程序,就像CMD一样?
- 为什么与Java和Python相比,使用Cmake运行C++程序每次都需要这么长时间?
- C++随机数生成器通常在 Visual Studio 中运行程序时在 2 次后停止生成数字
- 崇高文本 3 - 在终端中编译并运行 C++ 程序(路径包含空格)
- 我收到阻止我运行程序的警告,但不确定如何解决
- C++ Visual Studio 无法完全运行程序
- 在SIGABRT c ++信号之后继续运行程序