gdbSever和CoreDump在嵌入式中的应用

gdbsever在嵌入式里如何使用

1.芯片开发商的toolchain里面会提供一个gdb的编译工具
2.用这个gdb编译工具来编译自己的nostrip程序,要在gcc的时候加上 -g
3.用usb网卡连接设备,配置好虚拟机和板子上的网络通讯
设备端配置ip
insmod_rndis & //安装君正的网卡驱动,这个看你芯片厂商了
telnetd & //telnetd拉起来
ifconfig usb0 192.168.33.99 up //配置网卡ip
route add default gw 192.168.33.1 //配置网关
虚拟机配置ip
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
这样就配置好了,然后可以试一下ping设备,注意设置的ip是要同一网段

4.将芯片厂的gdbsever工具烧录到你的设备板子上

5.板子上先别跑你自己的程序,或者先把你程序kill掉,用gdbsever启动你的程序
gdbsever 192.168.33.200:1234 your_main
6.虚拟机上用gdb跑你的程序
gdb your_main
7.如果出现no debug symbol found表示你的程序是被strip过了
8.gdb里设置你的动态库,多个路径中间可以用:隔开
set solib-search-path /home/lib1:/home/lib2
9.gdb远程监听你的设备
target remote 192.168.33.99:1234
10.你的板子应该就会看到提示你的设备被虚拟机的端口监听了
11.虚拟机gdb里敲c,这时候板子上的程序就会跑起来了

CoreDump和nfs在嵌入式里如何使用

1.先要把你的板子和虚拟机ping通
2.编译的程序是nostrip的,编译的时候加上 -g
3.通过ulimit 设置core文件大小不受限制
ulimit -c unlimited
4.设备端创建nfs路径
mkdir -p /tmp/nfs
5.设备端挂载nfs路径到虚拟机上
mount -o nolock 192.168.33.200:/home/liwp/nfs /tmp/nfs
6.指定coredump的生成路径
echo 1 > /proc/sys/kernel/core_uses_pid
echo “/tmp/nfs/core.%t.bin” > /proc/sys/kernel/core_pattern

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值