今天,我试着从VS2019切换到VS代码,同时继续使用微软的VS。通过这种方式,我将在大多数时候在一个轻量级和更容易的环境中进行开发,当我需要高级的东西时,例如查看热路径,我将能够打开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时,我记得在DEBUG CONSOLE
窗口中可以看到console.log()
编辑1
我在下面添加了底部4个选项卡的截图,以便于澄清。正如你所看到的,DEBUG CONSOLE
什么也没有产生。最后一个图像是外部控制台。我发现大约60秒后,DEBUG CONSOLE
窗口显示了正确的内容,然后我猜又冻结了大约60秒。程序应该在无限循环中显示行。最后一个屏幕截图是在修改launch.json
之后的另一个调试会话中拍摄的
编辑2
下面是两个例子。第一个可以按预期工作。第二个不是。在我的初始程序中,执行了类似于第二个示例的内容
#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";
}
}
发布于 2020-05-18 21:44:27
您可能看错了标签。应该有"Problems“、"Output”、"Debug Console“和"Terminal”选项卡。为什么你点击F5你在“终端”。这是执行启动任务get的shell。然而,你的程序从std::cout输出到"Debug Output“中。
https://stackoverflow.com/questions/61869567
复制相似问题