在嵌入式Linux下交叉调试应用程序
2013-01-06 23:36
274 查看
下面用hello.c程序为例,说明调试过程。
编译程序的时候要添加调试信息,如下命令行所示:
$ arm -linux-gcc -g –o hello hello.c
注意: 当目标板上使用一个精简的二进制文件时,主机上必须是一个带调试信息的便于符号调试的二进制文件。
使用GDB调试过程:
1) 在目标板上,启动gdbserver,调试hello程序
# ./gdbserver <host>:2345 hello
2345是网络端口号,服务器在这个端口上等待客户端的连接,这个值可以是任何目标板上可用的端口号。hello是调试程序名,还可以添加程序运行的参数。<host>是主机名称或者IP地址。
控制台输出下面类似的显示:
Process hello created; pid = 38
2) 在主机上,改变目录到hello程序目录下,执行下面命令:
$ arm -linux-gdb hello
3) 在GDB命令提示下,执行下面命令:
(gdb)target remote <target>:2345
<target>是目标板名称或者IP地址,端口是2345。这个命令结果是在目标板端显示:
Remote debugging using 192.168.1.1:2345
现在就可以使用GDB的命令调试了。
4) 输入命令b main,在main函数设置断点。
list //显示源文件(C程序)
b 6 //在第6行设置断点
5)输入c 命令执行程序
继续 输入c 命令从断点执行程序
http://www.linuxidc.com/Linux/2008-01/10461.htm
编译程序的时候要添加调试信息,如下命令行所示:
$ arm -linux-gcc -g –o hello hello.c
注意: 当目标板上使用一个精简的二进制文件时,主机上必须是一个带调试信息的便于符号调试的二进制文件。
使用GDB调试过程:
1) 在目标板上,启动gdbserver,调试hello程序
# ./gdbserver <host>:2345 hello
2345是网络端口号,服务器在这个端口上等待客户端的连接,这个值可以是任何目标板上可用的端口号。hello是调试程序名,还可以添加程序运行的参数。<host>是主机名称或者IP地址。
控制台输出下面类似的显示:
Process hello created; pid = 38
2) 在主机上,改变目录到hello程序目录下,执行下面命令:
$ arm -linux-gdb hello
3) 在GDB命令提示下,执行下面命令:
(gdb)target remote <target>:2345
<target>是目标板名称或者IP地址,端口是2345。这个命令结果是在目标板端显示:
Remote debugging using 192.168.1.1:2345
现在就可以使用GDB的命令调试了。
4) 输入命令b main,在main函数设置断点。
list //显示源文件(C程序)
b 6 //在第6行设置断点
5)输入c 命令执行程序
继续 输入c 命令从断点执行程序
http://www.linuxidc.com/Linux/2008-01/10461.htm
相关文章推荐
- 利用Eclipse和Sourcery G++ Lite通过GDBserver在Windows下单步调试嵌入式Linux应用程序
- eclipse+gdbserver调试嵌入式linux应用程序
- 嵌入式linux应用程序调试方法
- 嵌入式linux应用程序调试方法
- gdbserver远程调试嵌入式linux应用程序方法
- gdbserver远程调试嵌入式linux应用程序方法
- 建立交叉编译环境和在开发板上实现第一个嵌入式Linux应用程序
- 搭建嵌入式linux应用程序调试环境
- 转 gdbserver远程调试嵌入式linux应用程序方法
- 嵌入式Linux应用程序开发详解教程含源代码例子
- 进程控制2 华清远见-《嵌入式 Linux 应用程序开发标准教程》
- 一步步教你交叉编译嵌入式linux GUI-directfb+gtk
- 嵌入式LINUX ---ARM交叉编译工具链的编译
- Ubuntu 12.04嵌入式交叉编译环境arm-linux-gcc搭建过程图解
- 嵌入式Linux实战篇--交叉编译环境的建立(基于ubuntu 8.10)
- 嵌入式ARM平台基于Linux配置应用程序开机自启动(fluxbox参考)
- zSeries 上的 Linux 应用程序调试技巧
- Ubuntu16.04安装配置嵌入式交叉编译工具链arm-linux-gcc
- 嵌入式Linux应用程序开发——多线程4(线程的同步——信号量)
- Ubuntu 16.04[64bit]嵌入式交叉编译环境arm-linux-gcc搭建过程图解