我已经设置了一个launch.json文件,这样C++程序就可以使用外部控制台(这样它就可以接收用户输入),但是当启动时,VSCode只是打开一个终端窗口,而不运行其中的程序。如果"externalConsole": true,
设置为false
,程序就可以运行,并且可以很好地调试,只是不能接收输入。
注意:不使用task.json文件,CMake用于创建可执行二进制文件。
启动文件:
{
// Use IntelliSense to learn about possible attributes.
// Hover to view descriptions of existing attributes.
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"name": "g++ - Debug active file",
"type": "cppdbg",
"request": "launch",
"program": "${workspaceFolder}/build/bin/program_bin",
"args": [],
"stopAtEntry": false,
"cwd": "${workspaceFolder}/build/bin",
"environment": [],
"MIMode": "lldb",
"externalConsole": true,
"setupCommands": [
{
"description": "Enable pretty-printing for gdb",
"text": "-enable-pretty-printing",
"ignoreFailures": true,
}
]
}
]
}
是否可能VSCode没有运行外部终端的“权限”?在MacOS上使用。
2条答案
按热度按时间pexxcrt21#
我也有同样的问题。这可能不是可行的答案,但希望它能使我们在正确的道路上走得更远。
我做了一些调查,发现了以下内容:
我需要先通读构建的文档,然后我会给予一下。如果它解决了问题,我会发布结果。
drnojrws2#
我试过使用标准(vscode文档中推荐的调试方式),但在使用外部终端时遇到了同样的问题。
我也使用mac和切换到CodeLLDB插件使用LLDB调试帮助
https://marketplace.visualstudio.com/items?itemName=vadimcn.vscode-lldb
只需遵循文档:https://github.com/vadimcn/vscode-lldb/blob/v1.8.1/MANUAL.md
但作为一个提示,这里是我的工作设置:(虽然我不能让它在windows上工作,但我是通过Parallel II运行windows的,所以也许这个插件本身也可以工作)
tasks.json
launch.json
只需确保您有所有可用的工具,通过在cli中运行进行检查:
祝好运