参考链接
就我个人的参考步骤来说
- 首先,make menuconfig --> Development --> gdb 和 gdbserver 都选上.
- 然后 Advanced --> Toolchain optian --> Debuggers 选中gdb.
然后直接make V=s
然后在openwrt/bin/*****glibc/packages/base
中找到gdbserver_7.11-1_leo.ipk
使用 opkg install gdbserver_7.11-1_leo.ipk
会出现一个错误.就是缺少一个libthread-db 包
然后搜一下 libthread-db_2.22-1_leo.ipk
找到这个包然后安装上去.
基本上工作就完成一大半了.
对于可执行程序.
在 makefile 中加入这几句话.
TARGET_CFLAGS +=\
-I$(STAGING_DIR)/usr/include\
-D_GNU_SOURCE\
-ggdb3
MAKE_FLAGS +=\
CFLAGS="$(TARGET_CFLAGS)"\
LDFLAGS="$(TARGET_LDFLAGS)"
src/makefile
override CFLAGS += -Wall -Os -Wextra
.PHONY:compile clean
HELLO_OBJ = $(subst .c,.o,$(wildcard *.c))
HELLO_BIN = hello
compile:clean $(HELLO_OBJ)
$(CC) -o $(HELLO_BIN) $(HELLO_OBJ) $(LDFLAGS)
%.o:%.c mytest.h
$(CC) -o $@ -c $< $(CFLAGS)
clean:
@rm -r hello *.o 2>/dev/null || :
PC上执行
./scripts/remote-gdb 192.168.1.1:9000 ./build_dir/target_*/hello/hello
嵌入式上执行
gdbserver :9000 /usr/bin/hello Adjustment BarrierBreaker Calmer
然后打印输出都会在,嵌入式上.
---------------------------我的天空里没有太阳,总是黑夜,但并不暗,因为有东西代替了太阳。虽然没有太阳那么明亮,但对我来说已经足够。凭借着这份光,我便能把黑夜当成白天。我从来就没有太阳,所以不怕失去。
--------《白夜行》