vscode使用lldb调试C++程序
vscode使用lldb调试C++程序
如需转载请标明出处:http://blog.csdn.net/itas109
QQ技术交流群:129518033
文章目录
- vscode使用lldb调试C++程序
- 前言
- 1. 下载和安装vscode
- 2. 编写测试程序
- 3. 编译源码
- 4. vscode配置C++调试环境
环境:
OS:Ubuntu 20.04
cmake: 3.16.3
编译器:g++ 9.3.0
调试器:lldb 10.0.0
vscode:1.63.2
OS:windows 10
cmake: 3.22.1
编译器:vs2017
调试器:lldb 12.0.0
vscode:1.63.2
创建时间:2022-01-24
前言
一般情况下,在linux下使用gdb调试,windows下使用Visual Studio调试。lldb可以同时支持windows、linux和MacOS的C++调试,本文介绍使用vscode + lldb调试C++的cmake工程。
1. 下载和安装vscode
略
2. 编写测试程序
目录结构
$ tree
.
+--- .vscode
| +--- launch.json
+--- CMakeLists.txt
+--- myprint.cpp
+--- myprint.h
+--- test.cpp
test.cpp
#include "myprint.h"
int main()
{int num = 1;myprintf(num);return 0;
}
myprint.h
void myprintf(int num);
myprint.cpp
#include <iostream>
void myprintf(int num)
{std::cout << "num: " << num << std::endl;
}
CMakeLists.txt
cmake_minimum_required(VERSION 3.11)project(test)include_directories(.)add_executable(${PROJECT_NAME} test.cpp myprint.cpp)
3. 编译源码
注意:必须生成Debug模式,否则无法调试
mkdir build
cd build
cmake .. -DCMAKE_BUILD_TYPE=Debug
cmake --build . --config Debug
建议使用CMake Tools进行编译。
linux下验证应用程序是否为debug版本:
readelf -S test | grep debug
windows下查看是否有test.pdb判断是否为debug版本
4. vscode配置C++调试环境
- 安装lldb C++调试插件【必选】
安装 VS Code lldb调试插件CodeLLDB
- 安装cmake插件【可选,便于编译】
安装 VS Code调试插件CMake Tools
- 创建调试启动文件
【Run(Ctrl + Shift + D)】-> 【create a launch.json file】-> 【LLDB】
launch.json
{"version": "0.2.0","configurations": [{"type": "lldb","request": "launch","name": "windows","program": "${workspaceFolder}/build/Debug/test.exe","args": [],"cwd": "${workspaceFolder}"},{"type": "lldb","request": "launch","name": "linux","program": "${workspaceFolder}/build/test","args": [],"cwd": "${workspaceFolder}"}]
}
- 调试
设置断点,在vscode中按F5进行调试。
vscode左侧有变量、监视、调用堆栈、断点和Modules信息。
License
License under CC BY-NC-ND 4.0: 署名-非商业使用-禁止演绎
如需转载请标明出处:http://blog.csdn.net/itas109
QQ技术交流群:129518033
Reference:
NULL
vscode使用lldb调试C++程序相关推荐
- 如何使用vscode安装和调试Java程序
步骤一:安装调试 Vscode官方出的安装指南 步骤二:运行Java程序 需要注意的是,Java程序不能单独运行(就是单独写一个文件然后运行),要在项目里才可以运行起来. 运行时注意事项和可能出现的问 ...
- vscode+node.js 调试js程序/edge浏览器调试javaScript/edge浏览器独立调试编辑并保存代码/浏览器内开发者工具element/console布局(focus Mode)
文章目录 declaration vscode 对于javascript的支持 环境 使用node.js调试纯js代码 使用浏览器调试 试验代码 Note! edge浏览器独立调试编辑并保存代码 窗格 ...
- lldb硬件断点android,Andorid Studio NDK开发-LLDB调试
LLDB是一个高效的c/c++的调试器,是与LLVM编译器一起使用,提供了丰富的流程控制和数据检测,有效的帮忙我们调试程序.LLDB也已经取代GDB成为XCode的默认调试器,Android Stud ...
- Linux系统vscode断点单步运行调试C++程序
安装vscode 安装比较简单略略略略!!!! 配置安装插件 Ctrl+Shift+X检索并安装C++.C++Clang.Cmake.Cmake Tools 创建launch.json文件 用vsco ...
- Vscode编译调试C++程序
一.简介 本文讲述在windows平台下在Vscode中使用g++编译本地C++程序,并使用gdb调试的方法.可能有些朋友会说:windows上不是已经有visual studio这个最强IDE了吗, ...
- vs怎么调试php程序,vscode如何调试运行c#程序
前提条件: 安装.NET Core SDK 安装vscode 步骤: 安装c#extension插件 创建第一个项目,手动创建workspace文件夹 在vscode中使用快捷键CTRL+K+CTRL ...
- 在vscode中怎样debug调试go程序
随着互联网时代的飞速发展,我们编码使用的开发利器也在不断更新换代,古话说工欲善其事必先利其器,对于Java开发者而言,eclipse和idea这两款神器各有千秋,因自己的爱好可以选取不同的IDE,但是 ...
- vscode编译、调试stm32F4系列mcu的程序
捣腾很长时间了,用vscode编译.调试stm32F4系列mcu的程序.记录下. launch.json @TOC // AUTOMATICALLY GENERATED FILE. PLEASE DO ...
- msys2 结合 vscode 使用 lldb 进行调试及 lldb-mi.exe 问题
默认 clang++.exe 环境生成的调试 launch.json 文件使用的 lldb-mi.exe 问题 clang 和 lldb 通过 pacman 安装. pacman -Sy mingw- ...
最新文章
- NGS的测序仪和相关技术时间轴 NGS相关数据库和项目时间轴
- jquery中siblings方法配合什么方法一起使用
- CISCO 防火墙建立穿越NAT的×××几种解决方法
- 【数论】挖掘机技术哪家强(jzoj 3858)
- Alibaba Sentinel 限流与熔断初探
- 简述 Linux 文件系统的目录结构
- LeetCode 106. 从中序与后序遍历序列构造二叉树(递归)
- TextAppearance.Material.Widget.Button.Inverse,Widget.Material.Button.Colored
- 穿越火线显示无法连接服务器,穿越火线无法连接服务器是什么原因
- excel如何让日期/时间增加指定分钟、小时、日
- 关闭WINDOWS文件保护功能
- net user administrator /passwordreq:yes 错误
- 淮安市第八届计算机比赛,淮安市科学技术协会
- 调试华为MML协议备忘
- javascript第六周总结
- Ansys-热应力分析(间接法)-液体管路分析学习收获
- awscli配置Access key ID和Secret access key
- 德佑地产房产经纪人区域总监访谈:精耕,业精于勤
- a标签跳转的四种方法
- js实现hover效果
热门文章
- 解读乔新亮的《看透本质:研发出了生产事故,到底要不要罚钱?》
- python制作gif动图_怎样用Python制作好玩的GIF动图
- node.js+uniapp计算机毕业设计安卓校园代办助手app(程序+APP+LW)
- 如何使用prerender-spa-plugin插件对页面进行预渲染
- 机器学习(深度学习)中的反向传播算法与梯度下降
- php登录关闭验证码,phpcms关闭后台登陆验证码的方法
- 你好:Zookeeper
- ZCMU-2014: 一生之敌(数学+枚举)
- redux中的三个原则与先前技术
- CUDA与openCL的比较