首页 > 系统相关 >在Linux环境下使用vscode配置C++调试环境

在Linux环境下使用vscode配置C++调试环境

时间:2022-09-19 21:35:11浏览次数:99  
标签:vscode 环境 C++ lldb Linux debug

在Linux环境下使用vscode配置C++调试环境

起因

在课程CMU15445 LAB0 的编写以及debug过程中充斥着assert以及printf这种不优雅的debug方式,因此决定直接进行工业革命!使用debug程序。本次选用的debug程序是lldb,使用vscode的图形化debug模式,体验非常好。

环境

  • vmware player 虚拟机
  • Ubuntu 20.04
  • vscode
  • lldb
  • vscode c++插件
  • 成品结果

搭建流程

  • 安装vscode, vmware player, ubuntu 20.04
  • 安装vscode C/C++ extension pack
  • 安装vscode插件 Codelldb
  • 配置debug文件,我的debug配置文件如下
    {
        // 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": [
            {
                "type": "lldb",
                "request": "launch",
                "name": "Debug",
                "program": "${workspaceFolder}/bustub-private/build/test/buffer_pool_manager_instance_test",
                "args": [],
                "cwd": "${workspaceFolder}"
            }
        ]
    }
    
  • 每次更改debug对象就只需要更改 program 中对应程序的路径即可。

总结

用好工具,用好工具也是一项非常重要的技能。

标签:vscode,环境,C++,lldb,Linux,debug
From: https://www.cnblogs.com/alyjay/p/16709127.html

相关文章

  • c++抛出异常
    try{std::cout<<"finish"<<std::endl;throwstd::out_of_range("error");return-1;}catch(std::exceptionconst&ex){......
  • linux命令详解:chmod
    说明全称:changemode作用:修改文件、目录的操作权限权限说明linux的文件调用权限分为三个组:所有者:全称Owner,简写u用户组:全称Group,简写g其它用户:全称OtherUsers,简......
  • LINUX基础命令学习上
    一、目录操作1、pwd(printworkdirectory)2、cd3、ls4、通配符5、权限6、alias7、du(diskusage)二、创建1、mkdir(mkdirmakedirectories)2、touch3、硬链接与......
  • 04(C++二级)
    1.常量字符串“ABCDE”中,结尾还保留一个空字符‘\0’,总共有6个字符,所以字符数组s使用常量字符串初始化时,s的数组大小必须 >= 6 。如:chars[6]="abcde";    ......
  • C++中的Lambda表达式
    C++中的Lambda表达式代码如下:[capture](parameters)mutable->return-type{statement}[capture]:捕捉列表。捕捉列表总是出现在Lambda函数的开始处。实际上,[]是Lambd......
  • python在vscode中的调试--
    如果你使用fromnumpyimport*调试时会把numpy库包含的包都给调试了,产生很多不必要的调试信息如果你只从库中导出你需要的包,会产生更加干净的调试信息比如说你只用了......
  • C++软件设计模式
    模式:在某些场景下,针对某类问题的某种通用的解决方案。1.六大设计模式单一职责原则:就一个类而言,应该仅有一个引起它变化的原因。开放封闭原则:软件实体可以扩展,但是不可......
  • linux 查看nginx 安装路径
    linux查看nginx安装路径A、查看安装的位置whereisnginxB.通过相应的进程ID(比如:4562)查询当前运行的nginx路径ll/proc/4562/exe1.在默认安装位置下查看,大多数一......
  • Linux -- ShellScript
    0x0站在巨人的肩膀上一个简易的教程为什么要在可执行文件前面加./shell脚本开头的#!是什么使用mv替换rm防止误删常用shell脚本0x1小的知识点转义字符:e......
  • linux命令
    目录:1、家目录2、ls3、通配符4、文件的字符意义5、别名alias6、du7、mkdir8、touch9、创建链接文件-lnLINUX命令家目录:家目录存放当前用户特殊配置的文件夹,当......