vscode+gdbserver开发软件方法

        GDB(the GNU Project Debugger)是 GNU 发布的一个功能强大的 UNIX 程序调试工具,
可以调试 Ada、 C、 C++、 Objective-C 和 Pascal 等多种语言的程序,可以在大多数 UNIX 和
Microsoft Windows 变种上运行。 GDB 既可以在本地调试,也可以进行远程调试。

 通过 GDB 能够对程序进行如下调试:
● 运行程序,还可以给程序加上某些参数,指定程序的行为。
● 使程序在特定的条件下停止。
● 检查程序停止时的运行状态。
● 改变程序的参数,以纠正程序中的错误。

需要使用 GDB 调试的程序,在编译的时候必须加-g 参数,开启调试信息。如果没开启无法使用断点或其他功能。

      进行嵌入式 Linux 开发, 更多的是进行 GDB 远程调试。 GDB 远程调试与本地调试相比,多了远程连接这一步。远程部分我们使用vscode完成软件编写与调试。

      GDB 远程调试需要两个程序,一个是目标机的 GDBServer,另一个是运行于本地机器
的与之对应的 GDB,对于 ARM 嵌入式 Linux 而言,通常是 arm-linux-gdb。远程系统和本地
系统之间通过网线连接。

       进行远程 GDB 调试, 首先需要在目标系统中启动 gdbserver, 这就要求部署的目标板文
件系统必须包含有 gdbserver 程序, 否则远程 GDB 调试将无法进行, 这里假定目标板包含
gdbserver 程序。

       如启动需要调试的程序:

       gdbserver 192.168.2.251:2000 udp_server 

       //192.168.2.251:2000  表示ubuntu16的IP与端口

       //udp_server 是可执行的应用程序

      

      可以看到执行后,启动等待远程连接。

      步骤如下:

      vscode 需要安装好插件  Remote Development 。

      vscode 打开工程文件

      编译的时候 生产的目标文件需要 把调试信息加载进来。 -g

      点击“调试 ”->“打开配置”,然后选择“ C++(GDB/LLDB)”选项,然后会在 .vscode文件夹下生成launch.json文件

       修改文件参考如下:

{
    // 使用 IntelliSense 了解相关属性。 
    // 悬停以查看现有属性的描述。
    // 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387
    "version": "0.2.0",
    "configurations": [
        {
            "name": "udp_server",
            "type": "cppdbg",
            "request": "launch",
            "program": "/home/vmuser/app/udp/udptest/udp_server",
            "args": [],
            "stopAtEntry": false,
            "cwd": "/home/vmuser/app/udp/udptest",
            "environment": [],
            "externalConsole": false,
            "MIMode": "gdb",
            "setupCommands": [
                {
                    "description": "为 gdb 启用整齐打印",
                    "text": "-enable-pretty-printing",
                    "ignoreFailures": true
                }
            ],
             "miDebuggerPath": "/usr/local/arm/gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf/bin/arm-linux-gnueabihf-gdb",
           //"miDebuggerPath": "/opt/fsl-imx-x11/4.1.15-2.1.0/environment-setup-cortexa7hf-neon-poky-linux-gnueabi",
             "miDebuggerServerAddress": "192.168.2.96:2000" 
        }
    ]
}

①、name:调试的项目名

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

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

④、miDebuggerPath:此项需要手动添加,用于指定所使用的交叉编译器 gdb路径。

⑤、miDebuggerServerAddress:此项需要手动添加,远程 gdbserver服务器地址,也就是开发板地址
 

点击 VSCode上的“调试” ”->“启动调试”按钮开启调试

控制程序运行。

简单记录一下

本文参考:嵌入式VSCode+gdbserver图形化调试环境搭建与使用_hurryddd的博客-CSDN博客_gdbserver vscode

      

         

      

       
 

    
 


 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值