在执行程序时,CLion IDE的输出有时会中断

时间:2016-03-28 19:59:46

标签: clion

使用CLion时,我发现输出有时会中断。

例如,在运行代码时:

的main.cpp

#include <stdio.h>

int main() {

    int i;
    for (i = 0; i < 1000; i++) {
        printf("%d\n", i);
    }
    fflush(stdout); // Shouldn't be needed as each line ends with "\n"

    return 0;
}

预期输出

预期输出显然是新线上每个数字的0-999

实际输出

在CLion中多次执行代码后,输出经常会改变:

  • 有时它会完美执行并显示所有数字0-999
  • 有时会在不同点(例如0-840)切断
  • 有时它不会输出任何内容

返回码始终为0!

截图

terminal output cuts off

在终端中运行代码(即不在CLion本身中)

但是,在使用终端编译和运行代码时,代码会完美地输出数字0-999。

我花了很多时间在这个问题上认为这是我的代码问题和内存问题,直到我终于意识到这只是CLion的一个问题。

操作系统:Ubuntu 14.04 LTS

版本:2016.1

构建:#CL-145.258

更新

合适的解决方法是在调试模式下运行代码(感谢@olaf)。

1 个答案:

答案 0 :(得分:9)

大家一致认为这是一个IDE问题。因此,我已经报告了这个错误。

合适的解决方法是在调试模式下执行代码(不需要断点)。

我会在修复此错误后立即更新此问题。

更新1

警告:除非JetBrains特别询问您,否则不应更改注册表中的信息。注册表不在主菜单中是有原因的!使用以下解决方案需要您自担风险!!!

JetBrains与我联系并提供了合适的解决方案:

  1. 转到“查找操作”对话框(CTRL + SHIFT + A)
  2. 搜索“注册表...”
  3. 解开run.processes.with.pty
  4. 应该可以正常工作!

    更新2

    此处添加了错误: https://youtrack.jetbrains.com/issue/CPP-6254

    随意投票!