VSCode调试C ++启动外部终端,但不运行程序

时间:2020-03-31 08:48:39

标签: macos debugging visual-studio-code vscode-debugger

我已经设置了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上使用。

1 个答案:

答案 0 :(得分:0)

我也有同样的问题。这可能不是有效的答案,但希望它能让我们在正确的道路上走得更远。

我做了一些挖掘,发现了以下内容:

  • VS Code 文档 mentioned,它通过 lldb-mi 打开外部控制台。
  • 在 Apple 开发者论坛上搜索 lldb-mi 后找到了 this post
  • ...这导致了一个带有 lldb-mi 构建的开源 Github Repo

我需要先通读该版本的文档,然后再试一试。如果问题解决了,我会发布结果。