Linux中国 Linux中国门户站!
设为主页 设为主页
收藏本站 收藏本站
 
当前位置 :首页 ->Linux技术 ->入门与提高 ->正文

如何运用Gdb对ARM板上的程序进行远程调试

来源: 作者:Webmaster 时间:2007-09-10 点击: [收藏] [投稿]

在arm板上运行 gdbserver

[root@51Board usb]# ./gdbserver 192.168.0.29:1234 arm0702_8.out

Process arm0702_8.out created; pid = 228

从服务器中等待一个请求

这个是对qte程序的调试,先运行程序再调试进程号。在PC机上程序名称一样的。

// ./gdbserver 192.168.0.29:1234 --attach 545

说明:

这里的192.168.0.29是上位PC机的IP(这个应该于ARM板上的IP在一个网段内)

1234这里规定的端口号,等下要用到的,当然这个也可以用其他的端口号

Arm0702_8.out

上位PC机运行 arm-linux-gdb 调试程序

[root@zieckey collieryMainSrc02]# arm-linux-gdb arm0702_8.out

GNU gdb 5.3

Copyright 2002 Free Software Foundation, Inc.

GDB is free software, covered by the GNU General Public License, and you are

welcome to change it and/or distribute copies of it under certain conditions.

Type "show copying" to see the conditions.

There is absolutely no warranty for GDB. Type "show warranty" for details.

This GDB was configured as "--host=i686-pc-linux-gnu --target=arm-linux"...

(gdb)

上位PC机连接到ARM板

[root@zieckey collieryMainSrc02]# arm-linux-gdb arm0702_8.out

GNU gdb 5.3

Copyright 2002 Free Software Foundation, Inc.

GDB is free software, covered by the GNU General Public License, and you are

welcome to change it and/or distribute copies of it under certain conditions.

Type "show copying" to see the conditions.

There is absolutely no warranty for GDB. Type "show warranty" for details.

This GDB was configured as "--host=i686-pc-linux-gnu --target=arm-linux"...

(gdb) target remote 192.168.0.50:1234

Remote debugging using 192.168.0.50:1234

0x40001550 in ?? ()

这时ARM板上的信息应该是这样的:

[root@51Board usb]# ./gdbserver 192.168.0.29:1234 arm0702_8.out

Process arm0702_8.out created; pid = 228

Remote debugging from host 192.168.0.29

现在就已经建立其了PC机通ARM板山的连接了。

那么我们就可以像调试本地程序一样调试ARM板上程序。

例如:

(gdb) list

19 //#include "cmaininterfacewidget.h"

20 //#include "headers.h"

21

22 #include "cwidgetmanager.h"

23 #define _DEBUG_

24 #define _DEBUGCDatabase_

25

26 int main( int argc, char ** argv )

27 {

28 QApplication app( argc, argv );

(gdb) break 28

Breakpoint 1 at 0xf25c: file main.cpp, line 28.

(gdb) target remote 192.168.0.50:1234

Remote debugging using 192.168.0.50:1234

0x4011dc30 in ?? ()

Error while mapping shared library sections:

/usr/qpe/lib/libts-0.0.so.0: 没有那个文件或目录.

Error while mapping shared library sections:

/usr/qpe/lib/libqwt.so.4: 没有那个文件或目录.

Error while mapping shared library sections:

/usr/qpe/lib/libsqlite3.so.0: 没有那个文件或目录.

Error while mapping shared library sections:

/usr/qpe/lib/libsqlitedataset.so.0: 没有那个文件或目录.

Error while mapping shared library sections:

/usr/qpe/lib/libqte.so.2: 没有那个文件或目录.

Error while mapping shared library sections:

/lib/libstdc++.so.5: 没有那个文件或目录.

Error while mapping shared library sections:

/usr/qpe/lib/variance.so: 没有那个文件或目录.

Error while mapping shared library sections:

/usr/qpe/lib/dejitter.so: 没有那个文件或目录.

Error while mapping shared library sections:

/usr/qpe/lib/linear.so: 没有那个文件或目录.

 如果您对本文有任何疑问或者建议,请到讨论区发表您的意见: >> 论坛入口 <<



上一篇:Redhat Linux系统下安装IE浏览器的方法   下一篇:Linux下用Tsclient和Rdesktop远程登录XP

文章评论】 【收藏本文】 【推荐好友】 【打印本文】 【我要投稿】 【论坛讨论
更多相关文章
Power by linux-cn.com 粤ICP备05006655号