VS Code C ++程序在调试时不显示任何输出

时间:2019-05-14 05:32:53

标签: c++ visual-studio-code vscode-debugger

使用一个简单的C ++文件,如下所示:

#include <iostream>
using namespace std;

int main(void)
{
    ios::sync_with_stdio(0);
    cin.tie(0);
    cout.tie(0);

    cout << "Hello World";
    return 0;
}

return 0处设置断点。设置此启动配置:

{
    "name": "g++ build and debug active file",
    "type": "cppdbg",
    "request": "launch",
    "program": "${fileDirname}/${fileBasenameNoExtension}",
    "args": [],
    "stopAtEntry": false,
    "cwd": "${workspaceFolder}",
    "environment": [],
    "externalConsole": false,
    "MIMode": "gdb",
    "setupCommands": [
        {
            "description": "Enable pretty-printing for gdb",
            "text": "-enable-pretty-printing",
            "ignoreFailures": true
        }
    ],
    "preLaunchTask": "g++ build active file",
    "miDebuggerPath": "/usr/bin/gdb"
 }

转到左侧栏中的调试标签,然后点击绿色的运行按钮。

预期的情况:我可以在某处看到Hello World
实际情况:我可以在任何地方看到Hello World

右侧标签:

  • 输出:空
  • 问题:空
  • 端子1 cppdbg: temp
  • 端子2 Task - g++ build active file content
  • 调试控制台content

该如何解决?


设置:Ubuntu 18.04上的VS Code 1.33.1(官方Snap构建)

1 个答案:

答案 0 :(得分:0)

根据上述有用的评论,我还会引用Alan

  

这不是vs代码的行为,您的操作系统在打印到控制台之前会缓冲输出,这是完全正常的,并且在所有平台上都相当普遍

因此,我需要在std::endl语句中添加一个额外的std::cout