如何运用Gdb对ARM板上的程序进行远程调试
2009-07-29 23:28
405 查看
在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: 没有那个文件或目录.
Error while reading shared library symbols:
/usr/qpe/lib/libts-0.0.so.0: 没有那个文件或目录.
Error while reading shared library symbols:
/usr/qpe/lib/libqwt.so.4: 没有那个文件或目录.
Error while reading shared library symbols:
/usr/qpe/lib/libsqlite3.so.0: 没有那个文件或目录.
Error while reading shared library symbols:
/usr/qpe/lib/libsqlitedataset.so.0: 没有那个文件或目录.
Error while reading shared library symbols:
/usr/qpe/lib/libqte.so.2: 没有那个文件或目录.
Error while reading shared library symbols:
/lib/libstdc++.so.5: 没有那个文件或目录.
Error while reading shared library symbols:
/usr/qpe/lib/variance.so: 没有那个文件或目录.
Error while reading shared library symbols:
/usr/qpe/lib/dejitter.so: 没有那个文件或目录.
Error while reading shared library symbols:
/usr/qpe/lib/linear.so: 没有那个文件或目录.
(gdb) quit
上面的那些错误是因为在ARM上指定路径有的库文件在PC上没有而引起的。
[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: 没有那个文件或目录.
Error while reading shared library symbols:
/usr/qpe/lib/libts-0.0.so.0: 没有那个文件或目录.
Error while reading shared library symbols:
/usr/qpe/lib/libqwt.so.4: 没有那个文件或目录.
Error while reading shared library symbols:
/usr/qpe/lib/libsqlite3.so.0: 没有那个文件或目录.
Error while reading shared library symbols:
/usr/qpe/lib/libsqlitedataset.so.0: 没有那个文件或目录.
Error while reading shared library symbols:
/usr/qpe/lib/libqte.so.2: 没有那个文件或目录.
Error while reading shared library symbols:
/lib/libstdc++.so.5: 没有那个文件或目录.
Error while reading shared library symbols:
/usr/qpe/lib/variance.so: 没有那个文件或目录.
Error while reading shared library symbols:
/usr/qpe/lib/dejitter.so: 没有那个文件或目录.
Error while reading shared library symbols:
/usr/qpe/lib/linear.so: 没有那个文件或目录.
(gdb) quit
上面的那些错误是因为在ARM上指定路径有的库文件在PC上没有而引起的。
相关文章推荐
- Eclipse-cdt 配合 gdbserver 进行 arm 程序远程调试 下
- Eclipse-cdt 配合 gdbserver 进行 arm 程序远程调试 上
- Eclipse-cdt 配合 gdbserver 进行 arm 程序远程调试
- Eclipse-cdt 配合 gdbserver 进行 arm 程序远程调试:connection选项找不到
- Emacs+GDB远程调试ARM-LINUX程序
- 【嵌入式Linux学习七步曲之第二篇 ARM+Linux开发环境】gdb+gdbserver的方式进行ARM程序调试
- 如何在VS Code 中使用ARM GDB调试程序
- gdb的简单使用和gdb+gdbserver方式进行ARM程序调试
- gdb+gdbserver 方式进行ARM 程序调试
- gdb+gdbserver方式进行ARM程序调试
- gdb+gdbserver方式进行ARM程序调试
- GDB+GDBServer方式进行ARM程序调试
- 编译arm-linux-gdb和远程调试arm板程序
- GDB+GDBServer方式进行ARM程序调试
- qtcretor通过gdb和gdbserver远程调试arm程序
- gdb的简单使用和gdb+gdbserver方式进行ARM程序调试
- S3C2440 windows下使用jlink gdbserver,arm-none-eabi-gdb进行裸机程序编写调试
- 【转】使用J-Link GDB Server + Eclipse CDT进行ARM程序调试
- gdb+gdbserver的方式进行ARM程序调试
- gdb+gdbserver方式进行ARM程序调试