使用GDB调试嵌入式Linux设备
2019-07-12 18:45发布
生成海报
步骤:
一
。熟悉在普通电脑上用
GDB
调试的基本方式。参见:
http://www.ibm.com/developerworks/linux/library/l-gdb/
二
。下载《
gdb
quick reference
》,
2
张纸,打印出来放在手边备用。
三
。让嵌入式系统支持
gdbserver.
(在
openwrt
上,即在
make
menuconfig
时选择编译
gdbserver
)
四
。进行调试
对于第四
点,下面以mips
cpu
上的openwrt
为平台进行举例
电脑IP地址为192.168.1.115, 设备IP地址为192.168.1.1,互相能进行IP通信
通过交叉编译工具,把如下代码编译成设备上的支持GDB
的可执行文件test.bin
#include
int main(int argc, char *argv[])
{
int i=0; i=1;
printf(“%d”, i++);
i++;
printf(“%d, %d”, j++, i++);
}
编译命令举例:
$(OPENWRT_DIR)/staging_dir/toolchain-mips_gcc4.1.2/bin/mips-linux-uclibc-gcc
-g -Wall -I. -I $(PWD)/../../Include/ -I
$(OPENWRT_DIR)/build_dir/linux-msp71xx/linux-2.6.20.21/ -o test.bin
test.c
-
将编译出来的test.bin
拷贝到嵌入式设备上跑的linux
的/usr/
目录下
-
在设备上执行如下语句启动GDBSERVER
gdbserver host:2345 /usr/test.bin
-
在电脑上执行如下命令:
/openwrt/staging_dir/toolchain-mips_gcc4.1.2/bin/mips-linux-uclibc-gdb
test.bin
-
在电脑上进入GDB
的界面了,执行如下命令给main
函数加一个断点:
break main
-
在电脑上的GDB
界面执行如下命令,建立于设备上的gdbserver
的连接:
target remote 192.168.1.1:2345
-
在电脑上的GDB
界面执行如下命令开始跑程序:
continue
- 此时便进入调试了,使用见前面提到的
-
执行如下命令终止GDB
调试:
quit
打开微信“扫一扫”,打开网页后点击屏幕右上角分享按钮