海思3559万能平台搭建:在线调试3VsCode插件

简介: 在线调试3VsCode插件

前言

 qtcreator也有类似功能,但是vscode比较熟悉,还是选择微软官方提供的Remote Development插件吧,真的非常非常好用!

VsCode配置

 点击“调试” ->“添加配置”,然后选择“C++(GDB/LLDB)”选项,

8f744a4a515548e6a0e55864f6d27212.png

 会在当前文件夹新建一个名为“launch.json”的文件,此文件会存放在.vscode 目录下,

{
    // 使用 IntelliSense 了解相关属性。 
    // 悬停以查看现有属性的描述。
    // 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387
    "version": "0.2.0",
    "configurations": [
        {
            "name": "platform",
            "type": "cppdbg",
            "request": "launch",
            "program": "/home/book/Downloads/hi3995_tools/Hi3559AV100_SDK_V2.0.3.1/mpp/sample/venc/platform",
            "args": [],
            "stopAtEntry": false,
            "cwd": "${fileDirname}",
            "environment": [],
            "externalConsole": false,
            "MIMode": "gdb",
            "setupCommands": [
                {
                    "description": "为 gdb 启用整齐打印",
                    "text": "-enable-pretty-printing",
                    "ignoreFailures": true
                }
            ],
            "miDebuggerServerAddress":"192.168.119.200:2001",
            "miDebuggerPath":"/usr/bin/gdb-multiarch"
            // "miDebuggerPath":"/home/book/Downloads/hi3995_tools/Hi3559AV100_SDK_V2.0.3.1/mpp/gdb-8.3/install/bin/hisigdb"
        }
    ]
}

 launch.json 文件中有几个项目是需要我们根据实际情况配置的:

 ①、 name:调试的项目名

 ②、 program:需要调试的应用程序可执行文件路径。

 ③、 cwd:需要调试的应用程序源码路径。

 ④、 miDebuggerPath:此项需要手动添加,用于指定所使用的交叉编译器 gdb 路径。(并不是板子上gdb地址!!!)

 ⑤、 miDebuggerServerAddress:此项需要手动添加,远程 gdbserver 服务器地址

 miDebuggerPath需要重点强调!并不是ubuntu默认的gdb路径,因为ubuntu的gdb是基于x86的,arm强行远程调试会直接报格式错误,虽然命令行界面可以勉强调试,但是插件就没有这么智能了

解决办法

 需要下载gdb-multiarch

 PC执行sudo apt-get install gdb-multiarch

 配置sysroot

set sysroot /opt/hisi-linux/x86-arm/gcc-arm-none-eabi-4_9-2015q3/lib

 将gdb-multiarch的绝对路径添加到配置文件中

27bc3b25c98c74c397b6581781b4049.png

调试方法

 和常见IDE的在线调试方法是基本一致的

1、控制程序运行

 首先肯定是如何控制程序运行,在 VSCode 上方居中的位置有如图所示控制面板

9ca49ae05d144d4c8c16776089dfd95f.png

 可以看出,一共有 6 个控制按钮,这 6 个按钮从左往右功能及快捷键依次如下:

 ①、继续按钮,快捷键为 F5,用于控制程序的运行和暂停,程序运行到断点暂停以后可以

按下此按钮继续运行。

 ②、单步跳过按钮,快捷键为 F10。

 ③、单步调试按钮,快捷键为 F11。

 ④、单步跳出按钮,快捷键为 Shift+F11。

 ⑤、重启按钮,快捷键为 Ctrl+Shift+F5。

 ⑥、停止按钮,快捷键为 Shift+F5

2、断点添加

 添加断点的方式也很简单,在需要添加断点的行前面,直接点击即可添加或取消断点,断点添加成功以后会在所在行前面显示一个小红点,

3、监视变量

 有时候我们需要监视一个变量的变化,这个也很简单,鼠标双击选中需要监视的变量名

上,然后点击鼠标右键,选择“调试:添加到监视器”,


相关实践学习
阿里云图数据库GDB入门与应用
图数据库(Graph Database,简称GDB)是一种支持Property Graph图模型、用于处理高度连接数据查询与存储的实时、可靠的在线数据库服务。它支持Apache TinkerPop Gremlin查询语言,可以帮您快速构建基于高度连接的数据集的应用程序。GDB非常适合社交网络、欺诈检测、推荐引擎、实时图谱、网络/IT运营这类高度互连数据集的场景。 GDB由阿里云自主研发,具备如下优势: 标准图查询语言:支持属性图,高度兼容Gremlin图查询语言。 高度优化的自研引擎:高度优化的自研图计算层和存储层,云盘多副本保障数据超高可靠,支持ACID事务。 服务高可用:支持高可用实例,节点故障迅速转移,保障业务连续性。 易运维:提供备份恢复、自动升级、监控告警、故障切换等丰富的运维功能,大幅降低运维成本。 产品主页:https://www.aliyun.com/product/gdb
相关文章
|
2月前
|
iOS开发 MacOS
【Mac系统】解决Vscode中LeetCode插件不能刷剑指offer题库
文章讨论了解决Mac系统中Vscode里LeetCode插件无法刷剑指Offer题库的问题,并提供了一些相关的使用技巧和资源链接。
183 1
|
1天前
|
自然语言处理 JavaScript 开发者
通义灵码插件:VSCode 的智能编程助手
通义灵码插件:VSCode 的智能编程助手
16 3
|
3天前
|
前端开发 JavaScript 编译器
2024最新VSCode实用插件推荐,开发效率遥遥领先!超全面,快收藏~
【10月更文挑战第10天】2024最新VSCode实用插件推荐,开发效率遥遥领先!超全面,快收藏~
12 0
|
1月前
|
开发框架 .NET C#
VSCode开发.net项目时调试无效
【9月更文挑战第22天】在使用 VSCode 开发 .NET 项目时遇到调试问题,可从项目配置、调试配置、调试器安装、运行环境、日志和错误信息等方面排查。确认项目类型及文件配置,检查 `launch.json` 文件及配置项,确保调试器扩展已安装并启用,验证 .NET 运行时版本和环境变量,查看 VSCode 输出窗口和项目日志文件,检查权限及代码错误。若问题仍未解决,可查阅官方文档或社区论坛。
|
2月前
|
前端开发 Go
vscode10大常用插件
本文介绍了前端开发中常用的工具及VSCode必备插件。推荐使用VSCode作为入门工具,并介绍了WebStorm和HBuilder等其他选项。VSCode插件包括:Open-In-Browser、live-server、Beautify、Code Runner、Image Preview、Path Intellisense、Turbo Console Log、css-auto-prefix、Bracket Pair Colorizer 和 Auto Rename Tag,这些插件能够显著提升开发效率和代码质量。此外,还提供了录制Gif图的工具GifCam。
105 5
vscode10大常用插件
|
1月前
|
人工智能 C++ 开发者
verilog vscode 与AI 插件
【9月更文挑战第11天】在Verilog开发中,使用Visual Studio Code(VS Code)结合AI插件能显著提升效率。VS Code提供强大的编辑功能,如语法高亮、自动补全和代码格式化;便捷的调试功能,支持多种调试器;以及丰富的插件生态。AI插件则可自动生成代码、优化现有代码、检测并修复错误,还能自动生成文档。常用插件包括Verilog AI Assistant和Verilog Language Server,可根据需求选择合适的工具组合,提高开发效率和代码质量。
|
2月前
vscode——如何开启Edge进行调试
vscode——如何开启Edge进行调试
60 4
vscode——如何开启Edge进行调试
|
2月前
|
前端开发 IDE 开发工具
OpenSumi问题之OpenSumi 对于 VS Code 插件生态要如何支持
OpenSumi问题之OpenSumi 对于 VS Code 插件生态要如何支持
|
2月前
|
JavaScript
vscode——如何调试typescript
vscode——如何调试typescript
61 4
|
2月前
|
JavaScript 前端开发 C++
【Azure Function】调试 VS Code Javascript Function本地不能运行,报错 Value cannot be null. (Parameter 'provider')问题
【Azure Function】调试 VS Code Javascript Function本地不能运行,报错 Value cannot be null. (Parameter 'provider')问题