openwrt 使用 gdb
参考链接
就我个人的参考步骤来说
- 首先,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的更多相关文章
- CentOS_7 OpenWrt Eclipse 环境搭建与 Dr.com 开发笔记
一:内核的编译. 1,linux 编译环境的搭建与源码的准备工作 2,常用软件的安装 (make menuconfig) 3, 针对TP-Link WR740N 一些软件的openwrt 的移植 4 ...
- Openwrt 初探
最近想研究一下Openwrt,于是开始搭建openwrt环境,虽然现在没有现成的板子,但是 可以先编译起来. openwrt的特点是基于下载 -> patch -> 编译 的一个工作模式, ...
- CentOS6 上OpenWRT交叉编译
目的不是为了编译固件,而是为了一个是编译可执行文件,放倒op的路由器上跑,另一个目的是安装一些开源软件折腾下(例如ss-lib),需要打包成 .ipk 格式 路由设备信息 erya@ERYA:~$ c ...
- 交叉编译问题记录-嵌入式环境下 GDB 的使用方法
本文为作者原创,转载请注明出处:https://www.cnblogs.com/leisure_chn/p/10693247.html 本文以嵌入式 Linux 环境下的 gdb 使用为例,记录交叉编 ...
- gdb 详解
环境:gcc (OpenWrt/Linaro GCC 4.8) 以如下的简单代码为例,说明gdb的使用. void func1(int a, int b) { int c; c = a + b; } ...
- Linux嵌入式GDB调试环境搭建
======================= 我的环境 ==========================PC 端: CPU:x86_64, 系统:Ubuntu,IP:172.16.2.212开发 ...
- OpenWrt笔记
## 1. OpenWrt目录结构说明 作者:辛勤的摆渡人 来源:CSDN 原文:https://blog.csdn.net/hunter168_wang/article/details/507805 ...
- 记一个openwrt reboot异步信号处理死锁问题
写在前面 觉得本页面排版单调的话,可以尝试到这里看. 问题背景 在 openwrt 上碰到了一个偶现的 reboot 失效问题.执行 reboot 之后系统并没有重启,此时控制台还能工作. 初步排查 ...
- linux应用调试技术之GDB和GDBServer
1.调试原理 GDB调试是应用程序在开发板上运行,然后在PC机上对开发板上得应用程序进行调试,PC机运行GDB,开发板上运行GDBServer.在应用程序调试的时候,pc机上的gdb向开发板上的GDB ...
- OpenWrt中开启usb存储和samba服务
在从官网安装的WNDR3800 15.05.1版本OpenWrt中, 不带usb存储支持以及samba, 需要另外安装 1. 启用usb支持 USB Basic Support https://wik ...
随机推荐
- springAPI对事物支持之注解式配置
一.无Spring核心配置文件:applicationContext.xml下开启注解式事物 @Configuration @EnableTransactionManagement public cl ...
- Asp.net mvc基础(二)Controller给View传递数据的方式
1.ViewData传值 步骤一:通过在控制器中以键值对的形式进行赋值 ViewData["键"] = 值 赋值: 调用: 2.ViewBag传值 ViewBag是dynamic类 ...
- 基于OpenCV与Tesseract的文档扫描增强器实战教程(附完整代码)
引言:文档数字化的智能解决方案 在移动办公时代,手机拍摄文档已成为常态,但随之带来的图像畸变.光照不均.文字倾斜等问题严重影响OCR识别效果.本文将通过OpenCV和Tesseract构建一款具备实时 ...
- 在Podman中配置Dify Sandbox服务与外部PostgreSQL服务的网络连接
在Podman中配置Dify Sandbox服务与外部PostgreSQL服务的网络连接 引言 在容器化环境中,确保不同服务之间的可靠通信是至关重要的.本文将指导你如何使用Podman来配置Dify ...
- MYSQL的API
1.函数的使用 常用函数(比较,分组,判断等) 截取函数:substring_index(目标字符串,分隔符,序号) 获取时间函数:TIMESTAMPDIFF(格式,开始时间,结束时间) 2.遇到的问 ...
- C++ 11 make_shared
make_shared的使用 shared_ptr<string> p1 = make_shared<string>(10, '9'); shared_ptr<strin ...
- maven安装教程(亲测有用)
先去https://maven.apache.org/download.cgi下第二个: 自己下不下来的,微信搜我公众号[勾玉技术]发送关键字[maven]获取百度云链接下载. 解压到任意文件夹,记得 ...
- 【公众号搬运】gap
.markdown-body { line-height: 1.8; font-weight: 400; font-size: 16px; word-spacing: 2px; letter-spac ...
- AI对低代码技术的影响
一.开发效率革命的"双引擎" 在过去的数十年里,软件工程领域正在经历一场由低代码平台和人工智能技术共同驱动的效率革命.这两股技术浪潮虽源于不同的技术路径,却共同指向同一个战略目标: ...
- DeepSeek R1再进化:这次更新让它直接对标Claude 4
DeepSeek R1再进化:这次更新让它直接对标Claude 4 今天凌晨,AI圈又炸了.DeepSeek在没有任何官方预告的情况下,悄悄发布了R1模型的最新版本--R1-0528[1][6][7] ...