我正在使用 VSCode 在 MacOSX 中调试我的 CPP 程序。
我有2个程序。
程序1
int main(){
string a;
a = "a";
a += 'b';
cout<<a<<endl;
return 0;
}
程序2
int main(){
string a;
cin>>a;
a += 'b'
cout<<a;
return 0;
}
在 program1 中,我直接分配 string a
,当我在 VSCode
中调试程序时,首先在终端中使用:
g++ -g filename.cpp
然后在 调试菜单 中选择 开始调试 选项。通过在断点中前进,我可以看到 string a
变量的状态。
VARIABLES 部分显示不同变量的状态, CALL STACK 显示堆栈帧。
但是,对于 program2 ,当我越过 cin>>a;
的断点时, 变量 和 调用堆栈 的内容会被清除。
以下是 launch.json
文件的内容:
{
"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"
}
]
}
如何获得用户输入并继续调试我的代码?
原文由 ajaysinghnegi 发布,翻译遵循 CC BY-SA 4.0 许可协议
如 这里 所述