在新接触IDE CLion的过程中,遇到了一个棘手的问题。
本人是win10系统 + JetBrains CLion 2018.2 + MinGW ,例如在打印1-100时,控制台里面的输出时而完整、时而缺失,而在debug模式下结果正常。
示例如下:
运行程序,控制台结果:
再运行一遍程序,结果:
每次运行的结果均不一样,完全没找到哪里的问题。
最终在Stack Overflow上面找到了一些解决方案。
解决:
1. Help->Find Action->输入Registry…,然后将run.processes.with.pty的√取消即可。但是每次启动CLion时都需要重新设置一下,太过繁琐。可以直接更改配置文件,见方法2。
2.找到CLion的安装目录,我的是D:\Program Files\JetBrains\CLion 2018.2\bin,然后打开idea.properties文件,将run.processes.with.pty设置为false即可。如下图:
设置完成后,可以测试程序结果:
可以看到结果正确的打印出来了。
据说有人几年前已经向JetBrains 提交过这个Bug,但是一直没有得到解决。
参看:
https://stackoverflow.com/questions/36270122/output-for-clion-ide-sometimes-cuts-off-when-executing-a-program
https://intellij-support.jetbrains.com/hc/en-us/community/posts/207415575-Issue-with-running-program-with-Run-gives-different-results-from-Debug-