ARM使用GDB调试

GDB+GDB server nfs调试方法
进行调试前首先需要保证目标开发板与宿主机支持nfs。
这里宿主机IP为192.168.1.35,ARM板IP为192.168.1.237,宿主机共享目录为/home/mm/work
1.保证宿主机与ARM板网络连通,在ARM板上挂载宿主机目录到/mnt上,挂载命令:
busybox mount -t nfs -o nolock -o tcp 192.168.1.35:/home/mm/work /mnt
进入/mnt目录可查看到挂载的内容:
在这里插入图片描述

2.因为我的调试程序放在/mnt/test,所以进入/mnt/test输入以下命令等待连接 gdbserver 192.168.1.35:5000 main在这里插入图片描述
3.调试的为一个普通程序
在这里插入图片描述
4.在宿主机命令行输入arm-linux-gnueabihf-gcc main.c -g -o main注意要加-g参数,表示应用程序调试,然后执行gdb调试:arm-linux-gnueabihf-gdb main,接着输入:
target remote 192.168.1.237:5000
连接成功后,出现如下提示:
在这里插入图片描述
同时ARM也会提示连接成功:
在这里插入图片描述
4.在宿主机命令行输入c是执行,同时ARM板会输出执行程序的打印:
在这里插入图片描述
b add 表示设置断点为函数add
q是退出
l是显示程序代码
这里仅简单测试,更多命令请自行查询
参考网站:https://blog.csdn.net/u013181595/article/details/75137025

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
针对 ARM 架构的调试,你可以使用以下三个版本的 GDBGDB 6.7、GDB 7.6 和 GDB 8.1 。GDB 是一款 UNIX 及 UNIX-like 下的调试工具,它主要提供了以下四个功能: 1. 启动程序:你可以按照自定义的要求来运行程序。 2. 运行程序:你可以单步执行程序,观察每一步的状态变化。 3. 检查程序状态:你可以查看程序的变量值、寄存器状态等信息。 4. 修改程序状态:你可以修改程序的变量值、寄存器状态等信息。 对于 ARM 架构的调试,你需要在 Linux 服务器上搭建 GDB 服务器。你可以使用以下配置来启动 GDB 服务器: ``` miDebuggerServerAddress: "192.168.225.1:9001" ``` 这里的 IP 地址和端口号是目标板上 GDB 服务器监听的地址和端口号 。另外,在 Visual Studio Code 中也可以配置 GDB 调试。你可以在配置文件中设置以下属性: ``` "configurations": [ { "name": "(gdb) 启动", "type": "cppdbg", "request": "launch", "program": "/home/user/vscode_gdb/arm_test", "args": [], "stopAtEntry": false, "cwd": "${workspaceFolder}", "environment": [], "externalConsole": false, "MIMode": "gdb", "setupCommands": [ { "description": "为 gdb 启用整齐打印", "text": "-enable-pretty-printing", "ignoreFailures": true } ], "miDebuggerPath": "/opt/***/arm-oe-linux-gnueabi-gdb" } ] ``` 在以上配置中,你需要指定要调试的程序的完整路径、工作目录和适合目标板的 GDB 路径 。同时,你可以设置其他的调试选项,例如调试环境变量、启用整齐打印等。 总结起来,你可以使用 ARM 架构的 GDB 版本进行调试,可以在 Linux 服务器上搭建 GDB 服务器,也可以在 Visual Studio Code 中配置 GDB 调试选项来进行 ARM 架构的调试

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值