参考链接

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

然后打印输出都会在,嵌入式上.

openwrt 使用 gdb的更多相关文章

  1. CentOS_7 OpenWrt Eclipse 环境搭建与 Dr.com 开发笔记

    一:内核的编译. 1,linux 编译环境的搭建与源码的准备工作 2,常用软件的安装 (make menuconfig) 3,  针对TP-Link WR740N 一些软件的openwrt 的移植 4 ...

  2. Openwrt 初探

    最近想研究一下Openwrt,于是开始搭建openwrt环境,虽然现在没有现成的板子,但是 可以先编译起来. openwrt的特点是基于下载 -> patch -> 编译 的一个工作模式, ...

  3. CentOS6 上OpenWRT交叉编译

    目的不是为了编译固件,而是为了一个是编译可执行文件,放倒op的路由器上跑,另一个目的是安装一些开源软件折腾下(例如ss-lib),需要打包成 .ipk 格式 路由设备信息 erya@ERYA:~$ c ...

  4. 交叉编译问题记录-嵌入式环境下 GDB 的使用方法

    本文为作者原创,转载请注明出处:https://www.cnblogs.com/leisure_chn/p/10693247.html 本文以嵌入式 Linux 环境下的 gdb 使用为例,记录交叉编 ...

  5. gdb 详解

    环境:gcc (OpenWrt/Linaro GCC 4.8) 以如下的简单代码为例,说明gdb的使用. void func1(int a, int b) { int c; c = a + b; } ...

  6. Linux嵌入式GDB调试环境搭建

    ======================= 我的环境 ==========================PC 端: CPU:x86_64, 系统:Ubuntu,IP:172.16.2.212开发 ...

  7. OpenWrt笔记

    ## 1. OpenWrt目录结构说明 作者:辛勤的摆渡人 来源:CSDN 原文:https://blog.csdn.net/hunter168_wang/article/details/507805 ...

  8. 记一个openwrt reboot异步信号处理死锁问题

    写在前面 觉得本页面排版单调的话,可以尝试到这里看. 问题背景 在 openwrt 上碰到了一个偶现的 reboot 失效问题.执行 reboot 之后系统并没有重启,此时控制台还能工作. 初步排查 ...

  9. linux应用调试技术之GDB和GDBServer

    1.调试原理 GDB调试是应用程序在开发板上运行,然后在PC机上对开发板上得应用程序进行调试,PC机运行GDB,开发板上运行GDBServer.在应用程序调试的时候,pc机上的gdb向开发板上的GDB ...

  10. OpenWrt中开启usb存储和samba服务

    在从官网安装的WNDR3800 15.05.1版本OpenWrt中, 不带usb存储支持以及samba, 需要另外安装 1. 启用usb支持 USB Basic Support https://wik ...

随机推荐

  1. React AntD的Dropdown组件报错:React.Children.only expected to receive a single React element child.可能的n原因

    React.Children.only expected to receive a single React element child. Error: React.Children.only exp ...

  2. 查阅相关资料, 了解什么是scrum中的3355?

    在Scrum中,3355是一个用于描述其核心组成部分的模型,具体包括三个核心角色.三个工件.五个关键事件和五个价值观.下面是对Scrum中3355的详细解释: 三个核心角色 产品负责人(Product ...

  3. 【深入解析AQS】从设计模式到ReentrantLock实现再到自定义锁

    深入解析AQS:设计模式.ReentrantLock实现与自定义锁开发 一.模板方法模式:AQS的架构基石 1.1 模式核心思想 模板方法模式通过固定算法骨架+可变实现细节的设计,实现了代码复用与扩展 ...

  4. 【代码】Android|判断asserts下的文件存在与否,以及普通文件存在与否

    作者版本:Android 11及以上 主要是发现网上没有完整的.能跑的代码,不知道怎么回事,GPT给我重写的.我只能保证这个代码尊嘟能跑,不像其他的缺胳膊少腿的. asserts 贴一下结果: boo ...

  5. 【安装】各平台下安装低版本CUDA的PyTorch

    目前直接点开官网,看到的安装链接是这样的: 倘若你的系统的CUDA版本恰好是11.2,而且又懒得升级,可以采取指定版本安装的方式装PyTorch: 运行指令,查看自己的显卡的版本号: nvidia-s ...

  6. 踩坑之MySQL安装及修改初始密码

    不得不说,mysql client的安装及改初始密码步骤多,繁琐,坑也不少,下面就总结下安装流程及遇到的那些坑(Windows): 1.安装 安装地址:https://dev.mysql.com/do ...

  7. VirtualBox 导入/注册 虚拟机文件 .vbox 失败

    VirtualBox 导入/注册 虚拟机文件 .vbox 失败 问题情景 Error: Failed to open virtual machine located in <.vbox所在目录& ...

  8. Vue前端开发 转 React 指南

    JSX 先介绍 React 唯一的一个语法糖:JSX. 理解 JSX 语法并不困难,简单记住一句话,遇到 {} 符号内部解析为 JS 代码,遇到成对的 <> 符号内部解析为 HTML 代码 ...

  9. pytorch入门 - 修改huggingface大模型配置参数

    介绍 Hugging Face的Transformers库提供了大量预训练模型,但有时我们需要修改这些模型的默认参数来适应特定任务. 本文将详细介绍如何修改BERT模型的最大序列长度(max_posi ...

  10. opencv检测物体颜色

    #include<opencv2/opencv.hpp> #include<opencv2/opencv_modules.hpp> #include<iostream&g ...