我是靠谱客的博主 忐忑世界,最近开发中收集的这篇文章主要介绍Insight 和 gdbserver 搭建ARM远程调试环境,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

[insight]
cd insight-6.8
vim ./gdb/gdbtk/libaray/targetselection.itb 端口号1000更改为4444
vim Makefile WERROR_CFLAGS = -Werror 更改为 WERROR_CFLAGS = #-Werror
make && make install

在software/insight/bin目录内生成
arm-linux-insight [非图形化Debug]
arm-linux-gdb [图形化Debug]
-------------------------------------------------------------
[gdbserver]
cd ~/software/gdb-6.8/gdb/gdbserver
./configure --target=arm-linux --host=arm-linux --prefix=/home/ljl/software/gdbserver
make && make install

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
将gdbserver[PATH ~/software/gdbserver/bin]拷贝到开发板/bin目录下,
这里需要注意的是运行gdbserver还需要libthread_db.so.1库,若你自己做的文件系统内没有这个库的话需要从交叉编译器内拷一个过去。

《用法之arm-linux-gdb+gdbserver》
Step1>>>PC端:
arm-linux-gcc -g hello.c -o hellodebug
用交叉编译器编译源程序,加上-g选项;
运行arm-linux-insight,设置主机ServerIP:192.168.1.88和开发板IP;192.168.1.230为同一网段;

Step 2>>>BOARD端:
设置监听1234端口:
gdbserver 192.168.1.230:1234 hellodebug

Step 3 >>>PC:
运行arm-linux-gdb进入


注: gdb调试带参数的程序
gdb --args ./testprg arg1 arg2

附:
常用的gdb调试命令:(某些唯一开头字母的命令可用开头字母直接替代,也可用Tab来显示其完整的命令名)
file 文件名 在gdb中载入某可执行文件 symbol file hello
break n 设置断点 break 5
info 查看和可执行程序相关的各种信息 info breakpoint delete/disable/enable breakpoint num
kill 终止正在调试的程序
print 显示变量或者表达式的值
set args 设置调试程序的运行参数
watch 在程序中设置观测点(如果数据改变,将给出变化前后的情况)
delete 删除设置的某个断点或观测点
clear 删除设置的某个断点或观测点
continue 从断点处继续执行程序
list 列出gdb中加载的可执行程序的代码
run 运行在gdb中加载的可执行程序
next 单步执行所加载的程序
step 单步,可进入函数内,查看执行情况(用finish回到调用处)
whatis 查看变量或函数类型
pype 显示数据结构定义情况
make 在不退出gdb情况下,编译程序
quit 退出gdb

[用法之insight可视化Debug]
PC上运行: arm-linux-insight myapp
File->target settings
Remote/Tcp
Hostname:开发板ip
port:保持一致
BOARD上运行: gdbserver PC-IP:Port myapp -qws

############个人笔记,出处已遗忘###############

最后

以上就是忐忑世界为你收集整理的Insight 和 gdbserver 搭建ARM远程调试环境的全部内容,希望文章能够帮你解决Insight 和 gdbserver 搭建ARM远程调试环境所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(66)

评论列表共有 0 条评论

立即
投稿
返回
顶部