zoukankan      html  css  js  c++  java
  • MAC+VS Code+C/C++调试配置

    原地址

    VS Code C/C++ 环境配置

    添加工作区文件夹

    虽然代码能力非常弱,但是环境还是要配好的嘛。C/C++插件 安装完成之后,首先需要将相应的文件夹添加到VS Code对应的工作区,便于后续代码调试,如图所示:

    Say Hello world

    然后,在文本编辑区新建文本,编写一段简单的代码,保存为two_sum.cpp至工作区文件夹中,代码如下,vscode操作如图所示。其中,我工作区文件夹名称是vscode_c,然后因为Code Runner的功劳,此时只需要点右上角的运行按钮,即可运行程序啦。

    #include<iostream>
    using namespace std;
    
    int main()
    {
        int result;
        int a = 2;
        int b = 3;
        result = a + b;
        cout << result<< endl;
        return 0;
    }
    

    关于三个配置文件--Debug

    接下来就是愉快的Debug时间啦,我主要就是在配置这几个文件的时候花了不少时间。因为自己性子急,又总想着网上肯定有现成的配置文件,只要复制一下就好,结果呢,网上的资料质量参差不齐,几乎全都没有用,还有很多就是直接贴图,什么都不说,哎呦喂,我这急脾气加暴脾气呀,一下子全都喷涌而出(心塞),逼着我自己好好看了看官方文档里面的一些说明,这次总算是把一些基本设置参数弄得七七八八了。

    c_cpp_properties.json

    首先快捷键shift+command+p 打开C/Cpp: Edit configurations,其会自动生成c_cpp_properties.json,该文件主要是方便添加其他路径的头文件以及一些代码定位功能。但是小白如我现在还用不到这些功能,所以该文件自动生成之后,如果只是简单的使用,暂时不需要修改。这个文件是长这个样子滴:

    {
        "configurations": [
            {
                "name": "Mac",
                "includePath": [
                    "${workspaceFolder}/**"
                ],
                "defines": [],
                "macFrameworkPath": [
                    "/System/Library/Frameworks",
                    "/Library/Frameworks"
                ],
                "compilerPath": "/usr/bin/clang",
                "cStandard": "c11",
                "cppStandard": "c++17",
                "intelliSenseMode": "clang-x64"
            }
        ],
        "version": 4
    }
    

    参数的简单说明

    • “includePath”:后期需要添加的额外头文件路径
    • “compilerPath”: 编译器所在的文件路径
      更加详细的说明可以参考C/C++ for VS Code

    tasks.json

    这个文件的作用是编译C/C++源码。首先快捷键shift+command+p 打开Tasks: Configure Tasks,选择 Create tasks.json file from templates,此时会蹦出一个下拉列表,在下拉列表中选择Others,这个时候tasks.json文件就会自动生成啦。这个配置文件是长这个样子的:

    {
        // See https://go.microsoft.com/fwlink/?LinkId=733558
        // for the documentation about the tasks.json format
        "version": "2.0.0",
        "tasks": [
            {
                "label": "Build two_sum.cpp",
                "type": "shell",
                "command": "g++",
                "args": [
                    "${file}",
                    "-o",
                    "${fileDirname}/${fileBasenameNoExtension}.out",
                    "-g"
                ],            
                "group": {
                    "kind": "build",
                    "isDefault": true
                }
            }
        ]
    }
    

    参数的简单说明

    • “label”:任务的名称

    • “type”:任务的类型,有两种(shell/process),shell的意思相当于先打开shell再输入命令,process是直接运行命令

    • “command”:实际执行的命令

    • “args”:在这里可以设置一些需要的参数,比如说这里我设置的四个参数中,

    • “-o”,表示指定输出文件名,如果不加该参数则默认Windows下输出a.exe,Linux/MAC下默认a.out,紧接着的一行即为指定的输出文件名

    • “-g”,C/C++调试必备参数

      更加详细的解释见VS Code官方文档关于tasks.json的说明
      官方文档中还给出了GitHub中的tasks.json模版

    launch.json

    该文件的作用是为了可以让我们愉快地调试代码的啦。首先找到虫子的图标,然后点击设置的按钮,在蹦出来的选项中选择C++ (GDB/LLDB),就像图片中这个样子:

    然后,跟tasks.json相对应,简单修改后如下:

    {
        // Use IntelliSense to learn about possible attributes.
        // Hover to view descriptions of existing attributes.
        // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
        "version": "0.2.0",
        "configurations": [
            {
                "name": "(lldb) Launch",
                "type": "cppdbg",
                "request": "launch",
                "program": "${fileDirname}/${fileBasenameNoExtension}.out",
                "args": [],
                "stopAtEntry": false,
                "cwd": "${workspaceFolder}",
                "environment": [],
                "externalConsole": true,
                "MIMode": "lldb"
            }
        ]
    }
    

    参数的简单说明

    • “name”:配置名称,将会在启动配置的下拉菜单中显示

    • “type”:配置类型

    • “request”:请求配置类型,可以为launch(启动)或attach(附加)

    • “program”:进行调试的程序的路径

    • “stopAtEntry”:若设置为true时程序将暂停在程序入口处

    • “cwd”:当前调试所在目录

    • “externalConsole”:调试时是否显示控制台窗口,设置为true即是显示控制台

      更加详细的解释见Github中关于launch.json文件的说明

    上面的步骤全部完成之后,首先切换到two_sum.cpp,快捷键command+shift+b对源文件进行编译,编译成功之后,按下F5,我们便可以愉快地调试啦。成功调试的图如下:

  • 相关阅读:
    vim实用技巧总结
    configure, make, make install都做了什么
    替换ubuntu 14.04的源
    从源码Build vim以及打包.deb
    Vimperator技巧
    搭建Gitlab
    [转] 你真的会写单例模式吗——Java实现
    笔记本开临时Wifi
    Ubuntu 12.04 修改键盘映射
    oracle查看用户所在的表空间
  • 原文地址:https://www.cnblogs.com/kolane/p/11537653.html
Copyright © 2011-2022 走看看