使用一个简单的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
。
右侧标签:
该如何解决?
设置:Ubuntu 18.04上的VS Code 1.33.1(官方Snap构建)
答案 0 :(得分:0)
根据上述有用的评论,我还会引用Alan:
这不是vs代码的行为,您的操作系统在打印到控制台之前会缓冲输出,这是完全正常的,并且在所有平台上都相当普遍
因此,我需要在std::endl
语句中添加一个额外的std::cout
。