VSCode远程调试linux

前言

这个调试是基于迅为itop3568板子进行调试的,如果你的不是这个板子,其实其他的也差不多流程。
这里从机3568下载好GCC和GDB之后,通过指令进行编译并生成可执行文件。因为linux中进行调试确实不太方便,没有windows下的工具那么舒服,所以这里用VScode进行远程调试。

这里是交差编译的一种方式,就是从机编译和生成可执行文件,然后主机进行调试。

还有另一种交叉编译的方式是,主机用基于从机的交差编译链条工具进行编译和生成可执行文件,把可执行文件直接放到从机去,然后在用远程调试的方式进行。这个相关教程,我后面自己弄通了测试无误后再发一个博客。


1. 给从机安装GCC与GDB

3568板子官方给的linux镜像是自带gcc的版本是

gcc version 7.5.0(Ubuntu/Linaro 7.5.0-3ubuntu1~18.04)

没有安装gdb调试,gdb调试工具链需要安装。通过对比查看官方虚拟机Ubuntu的交叉编译工具链,

gdb的版本即为最新gdb,所以只需要通过指令apt-get install gdb即可获得。

安装完成后通过gdb -v查看版本为:GNU gdb (Ubuntu 8.1.1-0ubuntu1)8.1.1

安装的位置可以通过whereis gdb指令进行获取

2. 编写测试 .c文件

/home/topeet/下创建文件夹,VscodeGdbTest文件夹下创建main.c

通过vim进行输入代码,代码如下:

#include<stdio.h>
int main()
{
    printf("This is a test demo\n");
    int i=10;
    while (i--)
    {
        printf("number of i is %d\n",i);
    }
    return 0;
}

3. 本地编译生成可执行文件

打开终端进入到main.c的目录下,通过指令

g++ -g main.c gdb -o arm_test

将文件的main.c进行编译,同时用gdb生成可执行文件,可执行文件的名字为arm_test

4. VSCode配置

4.1 拓展安装

​ (1)安装remote-ssh

​ (2)安装c/c++

​ (3)安装gdb debug

4.2 ssh连接与配置

在这里插入图片描述在这里插入图片描述

上图输入ssh topeet@192.168.0.108,这里的格式是ssh+用户名@+从机ip,具体主机具体ip自己对应着输。

配置选择第一个:ssh configuration file

右下角的小提示框选择connect

接着在左侧一栏就会出现我们已经配置好的ssh,右键我们配置好的从机,选择打开(当前窗口/新窗口)

打开后要输入密码,密码是用户名对应的用户密码,输入正确后就会连接上linux从机,单击左侧第一个则可以选择打开对应目录的文件。这时候还需要输入密码,密码依然为用户密码。

4.3 配置debug

点击左侧一栏的run and debug,接着点击create a launch.json file

下面代码进行替换

{
    // Use IntelliSense to learn about possible attributes.
    // Hover to view descriptions of existing attributes.
    // For more information, visit: Debugging in Visual Studio Code
    "version": "0.2.0",
    "configurations": [
        {
            "name": "(gdb) 启动", //配置名称,显示在配置下拉菜单中
            "type": "cppdbg", //配置类型
            "request": "launch", //请求配置类型,可以是启动或者是附加
            "program": "/home/topeet/vscode_gdb/arm_test", // linux上程序可执行文件的完整路径         
            "args": [], //传递给程序的命令行参数
            "stopAtEntry": false,//可选参数,如果为true,调试程序应该在入口(main)处停止
            "cwd": "${workspaceFolder}", //目标的工作目录
            "environment": [], //表示要预设的环境变量
            "externalConsole": false,//如果为true,则为调试对象启动控制台
            "MIMode": "gdb",//要连接到的控制台启动程序
            "setupCommands": [ //为了安装基础调试程序而执行的一个或多个GDB/LLDB命令
                {
                    "description": "为 gdb 启用整齐打印",
                    "text": "-enable-pretty-printing",
                    "ignoreFailures": true
                }
            ],
            "miDebuggerPath": "/user/bin/gdb", // linux上gdb的位置

// gdb程序路径,作为与目标板gdbserver通信的gdb client运行于linux服务器上
            "miDebuggerServerAddress": "192.168.0.108:9001"  //目标板上gdbserver监听的IP地址和 // 端口号      
        }
    ]
}

这里program、miDebuggerPath、miDebuggerServerAddress需要重新设定。

program:对应刚才从机生成的可执行文件的路径

miDebuggerPath:linux中安装gdb的位置

miDebuggerServerAddress:从机中监听gdbserver的IP和端口号

5. 开启调试

在从机linux端控制台输入如下指令,开启服务:

gdbserver :9001 arm_test

接着在VSCode端设置断点进行调试

程序的输出会在从机上显示。
参考博客:VScode远程调试

  • 3
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: VSCode远程调试Linux是一种通过VSCode编辑器远程连接到Linux服务器进行调试的方法。它可以帮助开发人员在本地编辑器中进行代码编写和调试,同时在远程服务器上运行和测试代码。通过VSCode的远程调试功能,开发人员可以更加高效地进行开发和调试工作,提高开发效率和代码质量。 ### 回答2: VS Code 是一款非常流行的开发工具,支持远程调试 Linux 等远程服务器上的程序。远程调试支持了解程序在不同环境下的行为,使得问题定位和解决更加高效,有助于提高开发效率。 远程调试 Linux 的流程比较简单,需要进行以下几个步骤: 1.安装 VS Code 首先需要在本地计算机上安装 VS Code 工具,并将其与远程服务器连接。VS Code 支持多种操作系统,例如 Windows、Mac 和 Linux,可以在官网上下载适合自己平台的安装包。 2.安装远程开发扩展程序 从市场中安装 Remote Development 扩展程序,该扩展程序支持远程连接的开发,并具有不同的连接方式和协议。 3.连接远程服务器 点击扩展程序菜单栏中的 Remote-SSH 连接按钮,输入远程服务器的 IP 地址和端口号,然后输入用户名和密码,即可连接到远程服务器。 4.创建工作目录 在 VS Code 中创建工作目录,选择远程服务器的工作目录,即可开始在本地电脑上进行远程开发,可以直接在 VS Code 编辑器中创建和修改文件。 5.启动远程调试 安装如下程序: sudo apt-get install -y gdbserver 该命令在远程服务器上安装 GDB 服务器,这是调试程序的必要条件。 在本地电脑上打开 VS Code 编辑器,选择 Debug 模式,并选择 C/C++ 配置,然后进行调试配置。填写 launch.json 文件,指定程序要挂起的位置,例如要指定要调试的可执行文件,输入远程服务器上的路径。 在 VS Code 中点击 Start Debugging,可以在远程服务器上启动调试程序。此时 VS Code 提供了完整的调试器功能,包括打断点、单步调试、观察变量和表达式等。 总之,VS Code 能够支持远程调试 Linux,为开发者提供了灵活的开发和调试环境,可以极大地提高开发效率和减少开发成本。 ### 回答3: VSCode是一款十分优秀的代码编辑器,它支持远程调试Linux上的应用程序。使用VSCode进行远程调试,可以让开发人员在自己的本地环境中完成代码编辑、调试等操作,同时能够直接调试Linux服务器上的应用程序,大大提高了开发效率。 在VSCode中进行远程调试Linux,需要在本地安装VSCode和远程开发插件,并在Linux服务器上安装调试器。首先,在本地安装VSCode,在左侧栏选择搜索图标,搜索并安装“Remote Development”插件,在左下角的地球仪图标中选择“连接到主机”,然后输入Linux机器的地址、用户名和密码,即可从本地连接到Linux机器上。 接下来,我们需要在Linux机器上安装调试器,如GDB。使用以下命令在Linux机器上安装GDB:sudo apt-get install gdb。在使用GDB进行调试时,需要在程序的编译中添加调试信息,使用以下命令:gcc -o test test.c -g。编译后的程序即可包含调试信息,可以在VSCode中进行调试。 最后,我们需要在VSCode中配置连接到Linux机器的设置。在左下角的地球仪图标中选择“连接到主机”,即可打开远程开发插件的设置界面。选择“新建SSH主机配置”,输入Linux机器的地址、用户名和密码,保存即可。 完成以上步骤后,我们即可在VSCode中启用调试模式,然后选择要调试的应用程序,即可开始进行远程调试。在调试过程中,我们可以使用VSCode调试工具来设置断点、查看变量值等操作,与在本地调试没有任何区别。 总的来说,使用VSCode进行远程调试Linux可以大大简化开发人员的工作流程,提高代码开发和调试效率。虽然需要进行一些配置和安装调试器,但是一旦配置完成后,日常的工作和开发都会变得更加便利和高效。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

澄澈i

你的鼓励将是我创作的最大动力

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

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

打赏作者

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

抵扣说明:

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

余额充值