当前位置:   article > 正文

vs code 编译 C++ 程序_vscode编译c++

vscode编译c++


https://www.cnblogs.com/yhjoker/p/9831671.html#task

安装插件

在这里插入图片描述

编译

键盘输入 ctrl+shift+p ,选择 CMake:Build
在这里插入图片描述
查看 build 文件夹下是否生成了可执行文件(如果代码内容有改动,需要重新 make 编译;或重复上一步操作)
在这里插入图片描述

配置 launch.json

进入 Run > Start Debugging > C++ (GDB/LLDB)
打开 launch.json 文件
在这里插入图片描述
修改 program 后可执行程序的路径,此时即可调试+编译

{
    // 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": "(gdb) Launch",    //名称
            "type": "cppdbg",
            "request": "launch",
            "program": "${workspaceFolder}/build/main",    //当前目录下编译后的可执行文件
            "args": [],
            "stopAtEntry": false,
            "cwd": "${workspaceFolder}",    //表示当前目录
            "environment": [],
            "externalConsole": false, // 在vscode自带的终端中运行,不打开外部终端
            "MIMode": "gdb",    //用gdb来debug
            "setupCommands": [
                {
                    "description": "Enable pretty-printing for gdb",
                    "text": "-enable-pretty-printing",
                    "ignoreFailures": true
                }
            ],
            // "preLaunchTask": "make"  //在执行debug hello world前,先执行build hello world这个task
        }
    ]
}
  • 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
  • 28

在这里插入图片描述
相关解释:

args后面填写可执行程序需要的参数
把"stopAtEntry"设置为"true"可以在主函数处停止
把"externalConsole"设置为"true"可以调用系统的终端

进入 Run > Start Debugging > 选择 Default configuration
打开 launch.json 文件
选择:Add Configuration
(gdb) launch 终端中先进入gdb 再启动程序,(gdb) Attach 程序已经启动,然后将gdb附加上开始调试工作:一般用于程序跑着跑着想知道在哪、多线程中,需要终端中已经在运行可执行文件过程中了

{
    // 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": "(gdb) Launch", // 只是个显示的名称,没用
            "type": "cppdbg",
            "request": "launch", // 启动类型:选择先启动gdb再调试
            "program": "${workspaceFolder}/build/main", // 需要调试的可执行文件
            "args": [], // 程序执行传入 main()的args参数
            "stopAtEntry": false,
            "cwd": "${fileDirname}", // 表示当前目录
            "environment": [],
            "externalConsole": false, // 在vscode自带的终端中运行,不打开外部终端
            "MIMode": "gdb", // 用gdb来debug
            "setupCommands": [
                {
                    "description": "Enable pretty-printing for gdb",
                    "text": "-enable-pretty-printing",
                    "ignoreFailures": true
                },
                {
                    "description": "Set Disassembly Flavor to Intel",
                    "text": "-gdb-set disassembly-flavor intel",
                    "ignoreFailures": true
                }
            ]
            // "preLaunchTask": "make"  //在执行debug hello world前,先执行build hello world这个task
        }
    ]
}
  • 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
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33

WATCH:监视区,gdb中的监视某个变量功能(在变量上右击,选择:add to watch)
CALL STACK:堆栈区,显示程序调用的每一层
BREAKPOINTS:这里可以在调试过程中直接添加断点

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/IT小白/article/detail/65848
推荐阅读
相关标签
  

闽ICP备14008679号