使用GDB调试开发板程序

来源:互联网 发布:开机忘记密码 mac 编辑:程序博客网 时间:2024/05/22 15:13

=====================================================================
使用GDB调试开发板程序  
=====================================================================

下载gdb-7.2a.tar.bz2
http://ftp.cs.pu.edu.tw/Linux/sourceware/gdb/releases/

版本可选机器适合的

二.编译 GDB
#tar zxvf gdb-7.2a.tar.bz2
2.1 编译GDB
#cd gdb-7.2
#./configure --target=arm-linux --prefix=/usr/local/arm-gdb
#make
#make install           // 生成/usr/local/arm-gdb/bin
2.2 编译GDB Server
#cd ./gdb/gdbserver
#export PATH=$PATH:/usr/local/arm-gdb/bin
#./configure --target=arm-linux --host=arm-linux
#make CC=arm-linux-gcc          //编译用于目标机的stub程序  生成gdbserver是GDB客户端程序,在板子上运行。
之后在~/gdb/gdbserver文件夹下生成可执行文件gdbserver
然后将gdbserver拷贝到板子上即可。

3、 调试一个程序
    cp gdbserver 到 nfs文件系统下
    在开发板上
    /mnt# gdbserver 192.168.0.213:2345 ./led    
    注意:例如led可执行程序在编译的时候必须带-g,即带调试信息。
    出现
    # gdbserver 192.168.0.212:2345 ./led                                          
    Process ./led created; pid = 454                                                
    Listening on port 2345    

 在PC机上
$ /arm-linux-gdb ~/led
  (gdb) b main
(gdb) target remote 192.168.0.212:2345
出现
target remote 192.168.0.212:2345 led
Remote debugging using 192.168.0.212:2345 led
0x00008120 in ?? ()


这时,开发板上将变成
# gdbserver 192.168.0.212:2345 ./led                                            
Process ./led created; pid = 467                                                
Listening on port 2345                                                          
Remote debugging from host 192.168.0.213   

连接成功后,这时候就可以输入各种gdb命令如list、run、next、step、break等进行程序调试了。

目标机上的被调试程序hello, 与主机上的程序hello, 是相同的程序, 但位置不一样,并非是用网络共享的同一个位置的同一个文件,
 一个在目标机上 ,一个在主机上, 没有关系。



原创粉丝点击