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 ...
随机推荐
- 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 ...
- 查阅相关资料, 了解什么是scrum中的3355?
在Scrum中,3355是一个用于描述其核心组成部分的模型,具体包括三个核心角色.三个工件.五个关键事件和五个价值观.下面是对Scrum中3355的详细解释: 三个核心角色 产品负责人(Product ...
- 【深入解析AQS】从设计模式到ReentrantLock实现再到自定义锁
深入解析AQS:设计模式.ReentrantLock实现与自定义锁开发 一.模板方法模式:AQS的架构基石 1.1 模式核心思想 模板方法模式通过固定算法骨架+可变实现细节的设计,实现了代码复用与扩展 ...
- 【代码】Android|判断asserts下的文件存在与否,以及普通文件存在与否
作者版本:Android 11及以上 主要是发现网上没有完整的.能跑的代码,不知道怎么回事,GPT给我重写的.我只能保证这个代码尊嘟能跑,不像其他的缺胳膊少腿的. asserts 贴一下结果: boo ...
- 【安装】各平台下安装低版本CUDA的PyTorch
目前直接点开官网,看到的安装链接是这样的: 倘若你的系统的CUDA版本恰好是11.2,而且又懒得升级,可以采取指定版本安装的方式装PyTorch: 运行指令,查看自己的显卡的版本号: nvidia-s ...
- 踩坑之MySQL安装及修改初始密码
不得不说,mysql client的安装及改初始密码步骤多,繁琐,坑也不少,下面就总结下安装流程及遇到的那些坑(Windows): 1.安装 安装地址:https://dev.mysql.com/do ...
- VirtualBox 导入/注册 虚拟机文件 .vbox 失败
VirtualBox 导入/注册 虚拟机文件 .vbox 失败 问题情景 Error: Failed to open virtual machine located in <.vbox所在目录& ...
- Vue前端开发 转 React 指南
JSX 先介绍 React 唯一的一个语法糖:JSX. 理解 JSX 语法并不困难,简单记住一句话,遇到 {} 符号内部解析为 JS 代码,遇到成对的 <> 符号内部解析为 HTML 代码 ...
- pytorch入门 - 修改huggingface大模型配置参数
介绍 Hugging Face的Transformers库提供了大量预训练模型,但有时我们需要修改这些模型的默认参数来适应特定任务. 本文将详细介绍如何修改BERT模型的最大序列长度(max_posi ...
- opencv检测物体颜色
#include<opencv2/opencv.hpp> #include<opencv2/opencv_modules.hpp> #include<iostream&g ...