默认 clang++.exe 环境生成的调试 launch.json 文件使用的 lldb-mi.exe 问题

clanglldb 通过 pacman 安装。

pacman -Sy mingw-w64-x86_64-clang
pacman -Sy mingw-w64-x86_64-lldb

F5 进行调试,选择 clang++ 自动生成的 tasks.jsonlaunch.json ,使用的调试器是 lldb-mi.exe,通过 msys 源安装的 clang 没有这个文件,google 一番llvm已经将这个工具单独的剥离出去。

clone 源码。

cd lldb-mi
mkdir build && cd build
cmake -D CMAKE_C_COMPILER=clang -D CMAKE_CXX_COMPILER=clang++ -G "MSYS Makefiles" ..
make

polly库依赖问题

cmake 执行的时候,会报错:

   The imported target "PollyISL" references the file"D:/msys64/mingw64/lib/libPollyISL.a"but this file does not exist.  Possible reasons include:

原因是依赖polly库,安装即可。

pacman -Sy mingw-w64-x86_64-polly

MSYS Makefiles 生成器

MSYS Makefiles 生成器使用 make 来构建,如果是MinGW Makefiles 生成器,使用 mingw32-make 来构建。

构建完毕,在 buildsrc目录下,就有 lldb-mi.exe,复制到 lldb.exe 所在的目录,便能正常的进行调试。

删除目录下的 .vscode 文件夹,按 F5,环境选 GDB/LLDB

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-PEYZPCrN-1617551299628)(D:\project\code_project\pic\vscode\debug\lldb.jpg)]

配置选 clang++.exe.

TERMINAL 窗口输出调试的参数,显示正常进入调试模式。

DEBUG CONSOLE 窗口可用来执行 lldb 的调试命令。

此时,在 DEBUG CONSOLE 下执行调试命令,需要使用 -exec command.

问题

部分调试信息显示的不正确,这里 vec 的大小正确的为 13,截图处显示的是 1;原因未明。

规避 lldb-mi.exe

使用CodeLLDB 插件来解决。

首先,在菜单 Terminal -> Configure Tasksclang++ 生成一个单独 tasks.json 文件。

然后,在菜单 Run -> Add configuration 生成 launch.json 时,选择环境里会多一个LLDB的选项,使用这个选项生成的 launch.json 配合第一步生成的 tasks.json就能使用 lldb 进行调试。

生成的launch.json 如下。需要手动修改可执行文件的名字:program项和添加调试前执行的任务:preLaunchTask 项。

{// 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}/${fileBasenameNoExtension}.exe", //手动改<your program>为${fileBasenameNoExtension}.exe"args": [],"cwd": "${workspaceFolder}","preLaunchTask": "C/C++: clang++.exe 生成活动文件"  //本句前置执行的任务为手动添加,任务的名称和tasks.json中label值保持一致。},]
}

此时进入调试模式,只有 debug console 有输出,terminal 窗口是没有输出的。

此时,在 DEBUG CONSOLE 下执行调试命令,直接使用 command 即可,比如图中的运行到下一行 n 命令。

msys2 结合 vscode 使用 lldb 进行调试及 lldb-mi.exe 问题相关推荐

  1. windows环境下 VSCode的安装和调试

    作者 @kaka VSCode的安装和调试 1. 下载安装包 去官网下载安装包直接安装,安装包下载地址 安装就是傻瓜式安装,有选项的就全选. 2. 下载配置编译器 因为VSCode只是一个功能强大的记 ...

  2. XCode调试器LLDB

    与调试器共舞 - LLDB 的华尔兹 你是否曾经苦恼于理解你的代码,而去尝试打印一个变量的值? NSLog(@"%@", whatIsInsideThisThing); 或者跳过一 ...

  3. Bug调试(lldb)

    原文网址:http://www.cnblogs.com/Twisted-Fate/p/4760156.html 今天博主有一些Bug调试的需求,遇到了一些困难点,在此和大家分享,希望能够共同进步. X ...

  4. iOS之LLDB常用调试命令

    LLDB是个开源的内置于XCode的调试工具,这里来理一理常用用法. lldb对于命令的简称,是头部匹配方式,只要不混淆,你可以随意简称某个命令.结果为在xcode下验证所得,可能与其它平台有所误差. ...

  5. vscode使用wsl远程调试linux代码

    vscode现在可以使用远程调试功能 ,可以通过ssh连接远程服务器,使用容器或者使用wsl,本地vscode作为人机接口,实际的代码和调试程序都在远程运行. 现在将我使用wsl过程和碰到的问题记录下 ...

  6. lldb +debugserver调试环境部署

    因为Apple已经弃gdb投lldb,所以随着我动态调试的次数越来越频繁,gdb上一个接一个的bug经常会让人很恼火.既然苹果打算建立自己的调试器王国,也投入了钱力精力,那我们干脆也上手lldb玩玩, ...

  7. 在vscode中加参数调试-python

    在vscode中加参数调试-python 有时会遇到需要带有命令行参数的debug,因此需要在vscode的配置文件lanuch.json中添加命令行参数 解决方案 1.首先需要找到lanuch.js ...

  8. 使用VsCode进行ROS程序调试

    使用VsCode进行ROS程序调试 安装相关插件 创建调试配置文件 启动调试 安装相关插件 首先在VsCode中安装相关插件 最重要是安装ROS插件,请注意是微软发布的版本 创建调试配置文件 点开RO ...

  9. VsCode + gdb + gdbserver远程调试arm嵌入式linux C/C++程序

    基本流程跟我的另一篇文章<VsCode + gdb + gdbserver远程调试C++程序>一样,不一样的是需要重新编译gdb和交叉编译gdbserver. 一.准备工作 sudo ap ...

最新文章

  1. 组合逻辑与lamda算子的历史 英文
  2. HDU 2822 Dogs【两次bfs】
  3. node php聊天室,最简单的Nodejs聊天室示例
  4. 解决RabbitMQ service is already present - only up...
  5. 【MyBatis框架】mybatis逆向工程自动生成代码
  6. WinForm 生产环境、测试环境 多配置-App.config(分享)
  7. mysql5.5默认引擎,在MySQL5.5以上系统中,默认的存储引擎是( )。
  8. MySQL 数据库性能调优
  9. 软考数据库系统工程师教材改版啦
  10. 图书馆图书借阅登记微信小程序管理软件系统开发制作
  11. oracle查询优化不走缓存,Oracle彻底优化——优化内存
  12. 得到知乎注册进行体验,谈谈感受
  13. 打印机出现另存为xps_win10系统打印文件弹出另存为xps/pdf的处理方法
  14. launcher3的具体学习
  15. 计算机专业助我成长作文600,梦想助我成长作文600字
  16. java数据离散化模板
  17. prometheus 告警配置以及配置项解释
  18. android双屏不同apk,双屏可折叠 通吃.exe和.apk 微软终于发大招了!
  19. Linux 的磁盘挂载 | 详解
  20. wxappUnpacker 微信小程序反编译 2019 9月使用问题总结

热门文章

  1. 电脑死机,虚拟机里面的系统开不了
  2. 一本通1034:计算三角形面积
  3. Qt实战:云曦日历篇
  4. manjaro下常用软件一览
  5. 安装JBuilder2005问题
  6. 商务翻译证,高级商务翻译证
  7. Cocos2d-x 游戏中子弹的设计 (一)
  8. Flask项目之个性化微电影网站的实战开发(完结)
  9. python爬取豆瓣影评_【python爬虫实战】爬取豆瓣影评数据
  10. 股权转让这个创业方向靠谱吗?关于潜力股这个创业公司的一些思考