在win10中的vscode下在线调试arm板中的linux程序

在windows中的vscode下在线调试arm板中的linux应用程序

想要在window下的vscode中在线调试arm板中运行的linux程序。需做到一下三点

  1. arm能运行gdbserver程序。用于向gdb客户端传输调试数据。
  2. linux端需要运行arm-linux-gnueabihf-gdb.这也就是我们所说的gdb客户端,用于和gdbserver交换调试数据。
  3. vscode需要将arm-linux-gnueabihf-gdb客户端可视化。也就是跟keil中调试程序一样,用户可以直接在程序中添加断点,查看变量等。

上面的三个条件中,前两个我们都熟悉。就是我们所说的gdb+gdbserver调试。有关移植和使用请参看arm板gdbserver移植
而第三点比较麻烦,重点是windows下的vscode无法运行arm-linux-gnueabihf-gdb等linux下才能运行的调试工具链。幸好微软推出了vscode下的Remote - WSL插件。允许我们直接从vscode中使用Linux的Windows子系统(WSL)作为您的开发环境(类似在linux中安装的vscode)。这样我们就可以直接使用这个插件来解决第三个问题了。因此,在windows中的vscode下在线调试arm板中linux应用程序完全可以实现。

调试环境搭建步骤

  1. 下载wsl(适用于Linux的Windows子系统).关于wsl的下载安装请参看链接 适用于Linux的Windows子系统安装指南 (Windows 10).
    1. wsl介绍:通俗来说就是一个虚拟机下linux操作系统。类似简易版ubuntu。
    2. wsl的优点:可以方便的访问windows的资源。它将windows的c盘、d盘等都直接挂载到了/mnt/c/等目录下。直接实现了两个系统之间的资源共享。
  2. wsl中安装交叉编译工具链arm-linux-gnueabihf-
    1. 测试交叉编译工具链是否好使
      1. 使用arm-linux-gnueabihf-gcc -v测试gcc。
      2. 使用arm-linux-gnueabihf-gdb -v测试gdb。有可能此时gdb不好使,问题及解决方式如下:
        1. 问题一:提示缺少libpython2.7.so.1.0.解决方法为安装此库。sudo apt-get install libpython2.7-dev,如果安装失败,可先用sudo apt-get update更新,然后再安装。
        2. 如果测试通过,则用于gdb+gdbserver调试的的gdb客户端我们已经解决。
  3. 在windows中的VScode下安装插件Remote - WSL
    1. 如何在VScode中安装插件太简单,就不用说了。安装完成,重启vscode后就可以在左下角看到><的图标。点击此图标(或者直接在命令面板中搜索remote-swl),就会在命令面板中出现remote-swl的各种命令。
    2. 选择remote-swl:new-window命令便可打开一个新的vscode窗口.这时的vscode窗口我们就称它为RemoteVscode吧.此时的vscode窗口就相当于linux下打开的vscode窗口,此时在vscode中执行命令的环境都是linux。
    3. RemoteVscode窗口中安装C/C++ IntelliSense, debugging, and code browsing.插件来安装c调试环境。这是咱们上面说的把vscode和gdb连接起来的一个重要步骤。
  4. 配置要编译、调试的c工程文件夹。
    1. RemoteVscode打开工程文件夹。(因为wsl和windows共享文件夹,所以直接可以到相应目录下寻找打开)。
    2. 配置tasks.jsonlaunch.json.关于具体的配置,参看vscode编译调试环境搭建
  5. 向arm板移植gdbserver.关于具体移植,请参看arm板gdbserver移植
  6. 到此环境搭建步骤完事。

编译、调试

RemoteVscode中的编译、调试和vscode的编译调试一样。参看vscode编译调试环境搭建

最终效果图如下.效果图

关于技术交流

此处后的文字已经和题目内容无关,可以不看。
qq群:825695030
微信公众号:嵌入式的日常
如果上面的文章对你有用,欢迎打赏、点赞、评论。二维码

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

theboynoName

感谢鼓励

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值