参考链接

CSDN

就我个人的参考步骤来说

  • 首先,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
然后打印输出都会在,嵌入式上.

posted on 2018-02-05 10:59  HDU李少帅  阅读(743)  评论(0编辑  收藏  举报