今天,我试图从VS2019切换到VS Code,同时继续使用MSVC。这样,我通常会在轻量级且更轻松的环境中进行开发,并且当我需要高级知识(例如查看热路径)时,就可以打开VS2019并完成工作。以下是我的launch.json
配置
"name": "debug",
"type": "cppvsdbg",
"request": "launch",
"program": "${workspaceFolder}/build/${fileBasenameNoExtension}.exe",
"args": [],
"stopAtEntry": false,
"cwd": "${workspaceFolder}",
"environment": [],
"externalConsole": false,
"preLaunchTask": "compile"
问题在于,调试std::cout
的输出时,在任何窗口中都看不到。将externalConsole
设置为true
会打开一个新控制台,其中结果是预期的结果。没有新的控制台,有没有办法查看程序的输出?一段时间前,当我与Node合作时,我记得console.log()
窗口中可见DEBUG CONSOLE
我添加了下面底部4个选项卡的屏幕快照,以进行澄清。如您所见DEBUG CONSOLE
没什么。最后一个图像是外部控制台。我发现大约60秒后DEBUG CONSOLE
窗口显示正确的内容,然后我猜又冻结了60秒。程序应在无限循环中显示行。在修改launch.json
下面是两个示例。第一个按预期工作。第二个没有。在我的初始程序中,执行了与第二个示例类似的操作
#include <iostream>
using namespace std;
int main() {
std::cout << "Hello world!\n";
}
#include <iostream>
#include <Windows.h>
using namespace std;
int main() {
while(true) {
Sleep(500);
std::cout << "Hello world!\n";
}
}
答案 0 :(得分:2)
您可能正在查看错误的标签。应该有选项卡“问题”,“输出”,“调试控制台”和“终端”。为什么要按F5键,您处于“终端”位置。那就是启动任务执行的外壳。但是,您从std :: cout输出的程序将进入“调试输出”。