编译gdb和gdbserver使用wget上传到路由执行调试
来源:互联网 发布:机器人与人工智能大会 编辑:程序博客网 时间:2024/06/08 06:33
对于路由器上调试程序。如果采用gdb的方式远程调试,那么需要编译gdbserver。并且上传到路由器当中。然后远端实现gdb调试功能。
主机是x86_64 。路由是mips架构。其他略有不同。总体是一样的
mipsel是小端模式。mips是大端模式
1编译gdb和gdbserver
一定要注意gdbserver的版本和gdb的版本,最好相互匹配,我测试的时候。同一个版本不是GDB编译问题就是GDBSERVER问题。只能分开采用不同版本。
编译器的版本也最好匹配。
GDBSERVER在GDB源码的 gdb/gdbserver目录
1.1编译GDB
GDB版本 GDB7.10
本机GCC编译器版本gcc5.4.0
cd /gdb7.10
mkdir bin
cd bin
../configure --target=mipsel-linux
make -j8
由于gdb在本机编译,本机执行,目标是mipsel。所以configure就是这样。
2
GDBSERVER版本 GDB7.7
交叉编译器gcc版本4.6.3 是openwrt编译好的工具链
cd /gdb/gdbserver
mdkir bin
cd bin
export CC=/home/xxx/src_file/openwrt_/malta/r2/bin/mipsel-openwrt-linux-gcc
export CXX=/home/xxx/src_file/openwrt_/malta/r2/bin/mipsel-openwrt-linux-g++
../configure --target=mipsel-linux --host=mipsel-linux
make -j8
gdbserver是运行在mips上。目标也是调试mips的。
编译完毕以后得到了gdbserver和gdb。注意编译gdbserver环境必须和路由器上的一样。否则gdb会找不到各种连接库。
在搭建好主机的ftp服务器以后
可以在路由中使用
wget ftp://admin:admin@192.168.1.100/filename下载文件。
下载完毕以后使用chmod+x来改变bin
使用gdbserver ip:port filename开启调试端口。
或者gdbserver 192.168.1.100 --attach processid
注意这里的ip是gdb所在的远程调试主机的ip
远端使用
./gdb
target remote ip:port
这里的ip是gbbserver的ip。也就是板子的ip
- 编译gdb和gdbserver使用wget上传到路由执行调试
- gdb和gdbserver调试
- uclinux使用gdb和gdbserver远程调试
- 应用调试之使用gdb和gdbserver
- 使用gdbserver和gdb调试代码
- 应用调试之使用gdb和gdbserver
- 应用调试之使用gdb和gdbserver
- 应用调试之使用gdb和gdbserver
- 使用gdb和gdbserver
- 使用gdb和gdbserver
- 编译安装gdb+insight和gdbserver远程调试
- 编译安装gdb+insight和gdbserver远程调试
- 编译安装gdb+insight和gdbserver远程调试arm
- 编译安装gdb+insight和gdbserver远程调试
- arm-linux-gdb和gdbserver调试交叉编译的程序
- 嵌入式arm-linux-gdb和 gdbserver 编译及调试
- Linux下交叉编译gdb,gdbserver+gdb的使用以及通过gdb调试core文件
- 交叉编译gdb+gdbserver实现远程调试
- mongodb分页查询
- matlab拼接字符串的方法
- 笔记本护眼设置——全面攻略(保护视力)(笔者倾情奉献+强烈推荐)
- Tensorflow batch_normalization
- Zookeeper系列(一)背景介绍及基本概念
- 编译gdb和gdbserver使用wget上传到路由执行调试
- 使用Dom4j解析XML
- 初试three.js--绘制星空
- maven 工程一些错误的解决办法
- 将Spring与JSF集成
- bash笔记
- 显式Intent与隐式Intent的使用
- C++之模板类问题
- BZOJ 1833: [ZJOI2010]count 数字计数 数位DP,处理前导0