我在用着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"
}
]
}
如何获取用户输入并继续调试我的代码?