在 Visual Studio Code 中调试 C++ 时如何读取输入?

2024-04-05

我在用着VSCode用于调试我的CPP程序在MacOSX.

我有2个程序。

Program1

int main(){

    string a;
    a = "a";
    a += 'b';
    cout<<a<<endl;
    return 0;
}

Program2

int main(){

    string a;
    cin>>a;
    a += 'b'
    cout<<a;
    return 0;
}

In program1我直接赋值string a当我调试程序时VSCode首先使用以下命令在终端中编译它:

g++ -g filename.cpp

然后选择开始调试选项中的调试菜单。我能够看到的状态string a通过在断点中前进来改变变量。

The 变量部分显示了不同变量的状态和调用堆栈显示堆栈帧。

但对于program2,当我越过断点时cin>>a;,内容变量 and of 调用堆栈清理干净。

以下是该内容的内容launch.json file:

{
    "version": "0.2.0",
    "configurations": [    
        {
            "name": "(lldb) Launch",
            "type": "cppdbg",
            "request": "launch",
            "program": "${workspaceFolder}/a.out",
            "args": [],
            "stopAtEntry": false,
            "cwd": "${workspaceFolder}",
            "environment": [],
            "externalConsole": false,
            "MIMode": "lldb"
        }
    ]
}

如何获取用户输入并继续调试我的代码?


如中所述Here https://github.com/Microsoft/vscode-cpptools/issues/449

如果你启用“外部控制台”:true in the 启动.json然后您将看到一个弹出的控制台窗口,您可以在其中输入。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 Visual Studio Code 中调试 C++ 时如何读取输入? 的相关文章

随机推荐