linux学习中
分类: 嵌入式
2016-02-25 17:04:11
一、建立调试环境
1. 配置编译OpenWRT
a) make menuconfig
启动以下两项
Advanced configuration options (for developers) –> Toolchain options –> Build gdb
Utilities –> gdbserver
b) 编译
make V=99,如果已经编译过,则make toolchain/install 编译下gdb即可
2. 编译待调试程序
a) make menuconfig
启动Advanced configuration options (for developers) –> Build options –> Enable debugging
b) 编译程序
以snmpd为例 ,使用make package/net-snmp/compile去编译程序,生成带调试信息的snmpd,作为宿主机调试使用。
以上就是准备工作。下面简单介绍一下调试过程。
二、调试程序
1.启动目标机上的待调试程序
首先加载并启动编译好的OpenWRT系统,然后
gdbserver
2. 启动宿主机gdb
(这里要修复一个bug,方法是:cd
cd
./gdb -- 启动
3. 设置gdb,并启动调试程序
1) set solib-absolute-prefix
2) file
3) 连接目标机:target remote
4)连接成功之后,就可以按正常的gdb调试流程进行调试了。
参考:
1) http://techblog.hollants.com/2009/08/openwrt-remote-debugging/
2) GDB User Manual http://sourceware.org/gdb/current/onlinedocs/gdb/