• macbook m1芯片 实现vscode下debug(解决无法读入的问题)


    需要下载的

    需要开启的

    • vscode 输入command + , 打开设置,输入terminal external,将图中框出的两个选项修改为external,如果将第二个框的Launch: Terminal修改为integrated,那么将使用vscode自带的终端,更方便一些
      在这里插入图片描述

    需要新建的

    • 新建一个源文件hello.cpp
    #include 
    using namespace std;
    
    int main()
    {
        int a = -1;
        cin >> a;
        cout << a + 100 << endl;
    
        return 0;
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • command+shift+p输入C/C++ 编辑配置(UI),会自动生成.vscode/c_cpp_properties.json
      内容为:
    {
        "configurations": [
            {
                "name": "Mac",
                "includePath": [
                    "${workspaceFolder}/**"
                ],
                "defines": [],
                "macFrameworkPath": [
                    "/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/System/Library/Frameworks"
                ],
                "compilerPath": "/usr/bin/clang",
                "cStandard": "c17",
                "cppStandard": "c++17",
                "intelliSenseMode": "macos-clang-arm64"
            }
        ],
        "version": 4
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • command + shift + p 输入 Tasks: Configure Task,选中后再选择C/C++: clang++生成活动文件,生成.vscode/tasks.json,这里需要修改内容,建议直接复制如下:
    {
    	"version": "2.0.0",
    	"tasks": [
    		{
    			"type": "cppbuild",
    			"label": "cpp",
    			"command": "/usr/bin/clang++",
    			"args": [
    				"-fcolor-diagnostics",
    				"-fansi-escape-codes",
    				"-std=c++17",
    				"-g",
    				"${file}",
    				"-o",
    				"${fileDirname}/${fileBasenameNoExtension}"
    			],
    			"options": {
    				"cwd": "${fileDirname}"
    			},
    			"problemMatcher": [
    				"$gcc"
    			],
    			"group": "build",
    			"detail": "编译器: /usr/bin/clang++"
    		}
    	]
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 点击vscode最左侧的爬虫(运行和调试),点击创建 launch.json 文件,选择LLDB,生成了一个.vscode/launch.json
      需要修改和添加内容,建议直接复制如下:
    {
        // 使用 IntelliSense 了解相关属性。 
        // 悬停以查看现有属性的描述。
        // 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387
        "version": "0.2.0",
        "configurations": [
            {
                "type": "lldb",
                "request": "launch",
                "name": "Debug",
                "program": "${fileDirname}/${fileBasenameNoExtension}",
                "args": [],
                "cwd": "${workspaceFolder}",
                "preLaunchTask": "cpp"
            }
        ]
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17

    剩余工作

    • hello.cpp 中的6、7、8三行打上断点,然后将编辑框留在hello.cpp
    • 点击vscode最左侧的爬虫(运行和调试),点击最上面的绿色启动按钮,启动程序
    • 点击最左侧的继续(F5),到达第6行时会发现左侧的Local变量原本存在的a消失了
    • 这时候会发现系统启动了一个终端,在终端中输入a的值并回车确认,此时程序将继续执行,左侧的Local变量中的a将显示你所输入的值
    • 至此完毕。
  • 相关阅读:
    【逻辑控制练习题+方法使用】
    【IoT开发工具箱 | 03】搭建可外网访问的内网穿透http文件服务器
    美创这款产品入选《2022年度浙江省首版次软件产品应用推广指导目录入围名单》
    GPT与Python结合应用于遥感降水数据处理、ERA5大气再分析数据的统计分析、干旱监测及风能和太阳能资源评估
    python --处理xml(ElementTree模块)
    UE5数字孪生系列笔记(一)
    动态规划算法
    Nginx之动静分离
    Publish Over SSH插件的使用(jenkins远程服务器发送文件)
    模拟微信小程序加载动画
  • 原文地址:https://blog.csdn.net/weixin_43900869/article/details/126672095