c++ - 在 VSCode 中调试 C++ 期间将输入传递给 std::cin 的问题

标签 c++ debugging input visual-studio-code

类型:调试器

  • 操作系统:Windows 10
  • VS 代码版本:1.42.1
  • C/C++ 扩展版本:0.26.3
  • 没有安装其他扩展
  • 对错误是什么的清晰简洁的描述:
    我的主要问题是无法 将输入传递给 std::cin 使用 C++ 的 VSCode 调试工具。我尝试了我在网上找到的不同东西,主要是启用 "externalConsole":truelaunch.json ,但徒劳无功。事实上,当我这样做时,会出现一个外部控制台,但它似乎“被窃听了”,因为它有一个闪烁的光标,但是当我写入它时,没有任何 react 。

  • 这是“被窃听的”外部控制台的屏幕截图:

    https://imgur.com/a/sVA6LCJ

    这是我的 launch.json配置:
    {
        // 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++.exe build and debug active file",
                "type": "cppdbg",
                "request": "launch",
                "program": "${fileDirname}\\${fileBasenameNoExtension}.exe",
                "args": [],
                "stopAtEntry": false,
                "cwd": "${workspaceFolder}",
                "environment": [],
                "externalConsole": true,
                "MIMode": "gdb",
                "miDebuggerPath": "C:\\MinGW\\bin\\gdb.exe",
                "setupCommands": [
                    {
                        "description": "Enable pretty-printing for gdb",
                        "text": "-enable-pretty-printing",
                        "ignoreFailures": true
                    }
                ],
                "preLaunchTask": "g++.exe build active file"
            }
        ]
    }
    

    这是我尝试执行的代码示例:
    #include<bits/stdc++.h>
    using namespace std;
    int main() 
    {
        cout << "Hello";
        string name;
        cin >> name;
        cout << "Hello " << name;
        return 0;
    }
    

    最佳答案

    只需在 中执行“ externalConsole ”:true launch.json .vscode 在您的工作目录中。
    之后会出现一个外部终端窗口,在 CIN 上点击 STEP OVER 后输入输入!

    关于c++ - 在 VSCode 中调试 C++ 期间将输入传递给 std::cin 的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60443322/

    相关文章:

    java - 从 Java 到 C++ JNI 获取字符串数组

    c++ - double 浮点比较

    c++ - SFML 极慢/不规则的帧率

    python - 创建 Ipython magic 命令以将最后一个控制台输入保存到文件中

    c++ - "Incomplete type"- 尝试打开 ifstream 时出错

    c++ - QListWidget 的 QT C++ SelectedIndex

    c++ - 使用 gdb 在 Ubuntu 上使用 Code::Blocks 调试问题

    android - 如何在命令行上使用 lldb 调试 Android 上的 C++ 代码

    java - 关闭从eclipse启动的远程调试的tomcat

    javascript - 限制html输入框内的字符串只能是状态缩写