gdbserver 移植
来源:互联网 发布:2017最火的网络词 编辑:程序博客网 时间:2024/06/04 18:45
1、http://ftp.gnu.org/gnu/gdb/ 下载gdb。gdb-7.6.2.tar.gz
2、编译gdb
$ tar xzvf gdb-7.6.2.tar.gz
$ cd gdb-7.6.2
$ ./configure --target=arm-linux --prefix=$PWD/bin
$ mkdir bin
$ make
$ make install
安装成功后主要是会在/tianpei/share/arm-gdb/bin下生成三个工具分别是:
arm-linux-gdb arm-linux-gdbtui arm-linux-run
这几个工具是在PC端运行。
3、编译gdbserver
$cd gdb/gdbserver/
$./configure --target=arm-linux --host=arm-linux-gnueabihf --prefix=$PWD/bin
$ mkdir bin
$make
$make install
安装成功后会生成文件:
$PWD/bin/arm-linux-gdbserver
注意:gdbserver 是在板子上运行的,注意设置--host为交叉编译工具
4、调试
1 arm-linux-gdbserver工具下载到开发板的/bin下
2、PC编译实例
编译: $arm-linux-gcc -g hello.c -o hello
1、 配制gdbserver
设置主机IP地址为:192.168.1.10,开发板系统IP地址为:192.168.1.230
在开发板中:
#gdbserver 192.168.1.230:1234 hello
Process test created:pid=80 //使gdbserver在1234端口监听。
在PC中运行 arm-linux-gdb:
#arm-linux-gdb
(gdb) target remote 192.168.1.230:1234 //若链接成功,开发板的串口终端会显示如下:
Remote debugging from host 192.168.1.10
(gdb) symbol file hello //此处的hello是PC机上的所在路径的hello
(gdb) list
(gdb) break 5
//==================================
如果gdb提示:GDB7.6 Remote 'g' packet reply is too long
修改gdb/remote.c文件,屏蔽process_g_packet函数中的下列两行:
if (buf_len > 2 * rsa->sizeof_g_packet)
error (_(“Remote ‘g’ packet reply is too long: %s”), rs->buf);
在其后添加:
if (buf_len > 2 * rsa->sizeof_g_packet) {
rsa->sizeof_g_packet = buf_len ;
for (i = 0; i < gdbarch_num_regs (gdbarch); i++)
{
if (rsa->regs[i].pnum == -1)
continue;
if (rsa->regs[i].offset >= rsa->sizeof_g_packet)
rsa->regs[i].in_g_packet = 0;
else
rsa->regs[i].in_g_packet = 1;
}
}
- gdbserver移植
- gdbserver 移植
- gdbserver移植
- gdbserver移植使用
- gdbserver工具移植及使用简介
- GdbServer和libuuid移植到HISI3520d
- gdbserver
- gdbserver
- gdbserver
- gdbserver
- gdbserver调试工具移植到ARM Linux教程
- 在ubuntu10.04成功移植gdbserver及gdbserver使用介绍(用于CCSV5.2远程调试ARM CORTEX-A8程序)
- 在ubuntu10.04成功移植gdbserver及gdbserver使用介绍(用于CCSV5.2远程调试ARM CORTEX-A8程序)
- Gdbserver(1)
- gdb+gdbserver
- gdb+gdbserver
- gdbserver 使用
- (Jlink)GdbServer
- UVA 465 - Overflow(大数)
- Centos6.0 64位jdk tomcat MySQL 5.6.11 CMake安装部署
- 合并两个vector
- java Jackson 库操作 json 的基本演示
- 文件系统挂载(解挂)
- gdbserver 移植
- 随身wifi精灵比之360随身wif。。。
- iOS-二维码扫描
- 2013年7月24日
- MySQL 用数字辅助表实现复杂的列变行
- Java的垃圾回收器GC机制
- u-boot Makefile分析
- 利用google快速搜索android源码
- thinkphp query方法 && excute方法 && 数组方法 && 表达式方法(in)