VSCode 搭建 Arm 远程调试环境的步骤详解

 更新时间:2020年04月02日 15:16:40   作者:Young  
这篇文章主要介绍了VSCode 搭建 Arm 远程调试环境的步骤详解,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

简介

前提条件:

  • 确保本机已经安装 VS Code。
  • 确保本机已安装 SSH client, 并且确保远程主机已安装 SSH server。
  • VSCode 已经安装了插件 C/C++。

本次搭建的环境:

  • 主机:windows 10
  • 服务器:ubuntu 16.04
  • VSCode 版本:February 2020 (version 1.43)
  • Arm:海思 3559A (已配置好编译工具链和 gdb server)

连接远程主机

Remote Development

首先安装 Remote Development 插件,安装完成之后:

如上图所示,输入:Remote-SSH:Connect to Host->Configure SSH Hosts->选择一个config,配置信息:

# Read more about SSH config files: https://linux.die.net/man/5/ssh_config
Host Server
    HostName 10.10.1.111
    User name

其中:

  • Host: 远程主机名称。
  • HostName: 远程主机 IP。
  • User: 连接用户名。

输入完毕后保存,左侧会出现配置好的信息,右键登陆,可能需要密码:

插件安装

连接到 server 后会发现,安装的插件分为两栏,可以在远程服务器安装需要的插件:

远程主机命令行

Ctrl + ~ 打开终端窗口,VS Code 连接到远程主机后,就可以直接使用终端窗口在远程主机上执行终端命令。

arm 远程调试

VSCode 配置

配置 gdb 的配置文件 launch.json:

{
 // 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": "cppdbg",	
   "request": "launch",
   "name": "Debug for test", 
   "skipFiles": [
    "<node_internals>/**"
   ],
   "args": [],
   "program": "${workspaceFolder}/build/bin/test.debug",
   "stopAtEntry": false,
   "cwd": "${workspaceFolder}",
   "externalConsole": true, 
   "MIMode": "gdb",
   "setupCommands": [
    {
     "description": "Enable pretty-printing for gdb",
     "text": "-enable-pretty-printing",
     "ignoreFailures": true
    }
   ], 
   "miDebuggerPath":"/opt/hisi-linux/x86-arm/aarch64-himix100-linux/bin/aarch64-himix100-linux-gdb",
   "miDebuggerServerAddress": "192.168.172.110:1234"
  }
 ]
}
  • type:调试的类型
  • name:配置文件的名字
  • request:配置文件的请求类型,有 launch 和 attach 两种,具体看官方文档
  • program:可执行文件的路径和文件名称
  • args:主函数调用时传入的参数
  • stopAtEntry:设为true时程序将暂停在程序入口处
  • cwd:调试时的工作目录
  • externalConsole:调试时是否显示控制台窗口
  • MIMode:指定 VS Code 连接的调试器,必须为 gdb 或者 lldb
  • miDebuggerPath:调试器路径
  • miDebuggerServerAddress: 板子 ip

arm 上运行 gdb server

./gdbserver :1234 test.debug

开始调试

VSCode 按 F5 开始调试:

断点设置,变量、栈查看:

总结

到此这篇关于VSCode 搭建 Arm 远程调试环境的步骤详解的文章就介绍到这了,更多相关VSCode Arm 远程调试环境内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • C++写时拷贝实现原理及实例解析

    C++写时拷贝实现原理及实例解析

    这篇文章主要介绍了C++写时拷贝实现原理及实例解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-06-06
  • C++学习之移动语义与智能指针详解

    C++学习之移动语义与智能指针详解

    智能指针和移动语义是迄今为止,最难理解的两个概念,下面这篇文章主要给大家介绍了关于C++学习之移动语义与智能指针的相关资料,需要的朋友可以参考下
    2021-05-05
  • C语言实现求定积分的方法

    C语言实现求定积分的方法

    这篇文章主要介绍了C语言实现求定积分的方法,涉及C语言操作相关数学函数的技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-02-02
  • C++实现快速排序(Quicksort)算法

    C++实现快速排序(Quicksort)算法

    这篇文章主要为大家详细介绍了C++实现快速排序(Quicksort)算法,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-04-04
  • C++11关于auto关键字的使用示例

    C++11关于auto关键字的使用示例

    今天小编就为大家分享一篇关于C++11关于auto关键字的使用示例,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2018-12-12
  • 关于C++函数模版的实现讲解

    关于C++函数模版的实现讲解

    今天小编就为大家分享一篇关于关于C++函数模版的实现讲解,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2018-12-12
  • c++ const引用与非const引用介绍

    c++ const引用与非const引用介绍

    const引用是指向const对象的引用,可以读取ref,但不能修改所以也就有将const变量赋值给非const引用是非法的,感兴趣的朋友可以了解下,或许本文对你有所帮助
    2013-01-01
  • C语言用函数实现电话簿管理系统

    C语言用函数实现电话簿管理系统

    这篇文章主要为大家详细介绍了C语言用函数实现电话簿管理系统,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-12-12
  • 聊聊C++的mutable和volatile

    聊聊C++的mutable和volatile

    这篇文章主要介绍了C++的mutable和volatile的相关资料,帮助大家更好的理解和学习c++,感兴趣的朋友可以了解下
    2020-09-09
  • C++标准之(ravalue reference) 右值引用介绍

    C++标准之(ravalue reference) 右值引用介绍

    临时对象的产生和拷贝所带来的效率折损,一直是C++所为人诟病的问题,下面简单地介绍一下Copy Elision、RVO,对此不感兴趣的可以直接跳过
    2012-11-11

最新评论