【发布时间】:2018-03-19 07:13:20
【问题描述】:
我有以下文件 overflow.c,我正在尝试通过 Visual Studio Code macOS 中的断点进行调试:
#include <stdio.h>
int main(void) {
int n = 1;
for (int i = 0; i < 64; i++)
{
printf("%i\n", n);
n = n * 2;
}
return 0;
}
我通过在终端中输入make overflow 来构建它,它会返回
cc overflow.o -o overflow
我可以在终端中执行./overflow 来运行它,这很有效。我安装了 Microsoft 的 C/C++ 扩展。我的launch.json 如下所示:
{
"version": "0.2.0",
"configurations": [
{
"name": "C Run",
"type": "cppdbg",
"request": "launch",
"program": "${workspaceRoot}/overflow",
"args": [],
"stopAtEntry": true,
"cwd": "${workspaceRoot}",
"environment": [],
"externalConsole": false,
"MIMode": "lldb"
}
]
}
当我使用“C 运行”配置进行调试时,它会运行我的整个代码不会遇到任何断点 (found here)
“C Attach”用于附加到已运行的应用程序,此处不适用。我已将以下内容添加到我的 PATH:
PATH="/Applications/Xcode.app/Contents/Developer/usr/bin:${PATH}"
调试“C 运行”配置后我的调试控制台会加载一堆符号,从我的打印语句返回输出,并以
结尾The program '/Users/ahlam/Downloads/workspace/overflow' has exited with code 0 (0x00000000).
编辑:我也用 C++ 尝试过,它具有相同的行为。制作了一个hello.cpp,使用g++ hello.cpp 构建,调试只是运行了整个代码而没有遇到任何断点。
感谢任何帮助。
【问题讨论】:
-
也许开始调试而不是运行?
-
我进入“调试”菜单,单击绿色播放按钮,将鼠标悬停在上面显示开始调试,所以我认为我正在调试。您是否有不同的工作流程?
标签: c++ c macos visual-studio-code