gdb调试嵌入式环境搭建
1.下载gdb源代码
2.编译
解压#tar zxvf gdb-7.9.1.tar.gz,cd到解压的目录中。
2.1编译arm-linux-gdb
arm-linux-gdb运行在PC(服务器)上的程序,用于调试的部分
配置参数,--target:目标平台,--prefix:gdb安装的路径;编译,安装
#./configure --target=arm-linux --prefix=/usr/local/arm-gdb
#make -j8
#make install
在指定的路径下生成bin include lib share四个目录,bin下的arm-linux-gdb就是需要的程序。
2.2编译gdbserver
#cd gdb/gdbserver
#./configure --target=arm-linux --host=arm-linux
#make -j8 CC=/opt/hisi-linux/x86-arm/arm-hisiv500-linux/bin/arm-hisiv500-linux-uclibcgnueabi-gcc
编译会报错,主要信息如下:
linux-low.c:612:46: error: ‘ADDR_NO_RANDOMIZE’ undeclared (first use in this function)
if (errno == 0 && !(personality_orig & ADDR_NO_RANDOMIZE))
^
linux-low.c:612:46: note: each undeclared identifier is reported only once for each function it appears in
linux-arm-low.c:129:21: fatal error: sys/reg.h:没有那个文件或目录
#include <sys/reg.h>
修改一下config.h文件,注释掉如下两行
#define HAVE_PERSONALITY 1
#define HAVE_SYS_REG_H 1
然后再次编译,会在当前路径下生成gdbsever,gdbsever就是需要运行在目标机上的程序。将gdbserver拷贝到目标机上。
3.gdb调试
被调试的程序编译时需要加上-g选项,使生成的程序中带上调试信息。编译完成的程序也不能用strip剥去调试信息。
在板子端运行gdbserver
#./gdbserver 10.1.65.142:9990 main
此处ip,port是调试主机的,main是程序名,注意的是main需要在主机端有一份一样的拷贝。arm运行成功,会打印出如下信息:
Process main created; pid = 75
Listening on port 9990
在主机端运行arm-linux-gdb
#./arm-linux-gdb main
#target remote 10.7.162.197:9990\r //远程连接arm,进行调试
使用set solib-search-path ~/data/nfs/solib/设置动态库路径
gdb调试嵌入式环境搭建的更多相关文章
- 嵌入式框架Zorb Framework搭建一:嵌入式环境搭建、调试输出和建立时间系统
我是卓波,我是一名嵌入式工程师,我万万没想到我会在这里跟大家吹牛皮. 嵌入式框架Zorb Framework搭建过程 嵌入式框架Zorb Framework搭建一:嵌入式环境搭建.调试输出和建立时间系 ...
- 嵌入式环境搭建之NFS
嵌入式环境搭建之NFS Author:tiger-johnTime:2013-08-04mail:jibo.tiger@gmail.comBlog:http://blog.csdn.net/tiger ...
- vscode调试golang环境搭建及配置
准备VSCode 在官网下载最新版的VSCode: 安装Golang插件 打开扩展面板 VSCode->查看->扩展 找到Go插件 在搜索框里输入Go, 找到第二行写有 Rich Go l ...
- Tomcat7调试运行环境搭建与源代码分析入门
1. 需要准备好下面这些工具 JDK 1.6+ Maven 2或3 TortoiseSVN 1.7+ (从1.7开始”.svn”目录集中放在一处了,不再每个目录下都放一份) Eclipse 3.5+ ...
- centos7嵌入式环境搭建
1. 在网上搜索下载交叉编译器arm-linux-gcc文件,我下载的是:arm-2014.05-29-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2 ...
- 逻辑性最强的React Native环境搭建与调试
React Native(以下简称RN),已经“火”了好一段时间了,网上的资料相对也很丰富,只是一直迟迟没有发布1.0,不过出身豪门(Facebook)的RN和国内顶级互联网公司对于RN的实践与应用, ...
- Linux嵌入式GDB调试环境搭建
======================= 我的环境 ==========================PC 端: CPU:x86_64, 系统:Ubuntu,IP:172.16.2.212开发 ...
- win10下搭建jz2440v3(arm s3c2440)开发及gdb调试环境【转】
本文转载自:https://blog.csdn.net/newjay03/article/details/72835758 本来打算完全在Ubuntu下开发的,但是水平有限,没有在Ubuntu下找到合 ...
- Eclipse + CDT + YAGARTO + J-Link,STM32开源开发环境搭建与调试
Eclipse+CDT+YAGARTO+J-Li:开源开发环境搭建与调试:作者:Chongqing:邮箱:ycq.no1@163.com:文档版本:V1.0:发布日期:2014-08-04:前言:此文 ...
随机推荐
- python:assert
assert 断言 使用assert断言是个好习惯 在没完善一个程序之前,我们不知道程序在哪里会出错,与其让它在运行最崩溃,不如在出现错误条件时就崩溃,这时候就需要assert断言的帮助. asser ...
- Shiro集成web环境[Springboot]-认证与授权
Shiro集成web环境[Springboot]--认证与授权 在登录页面提交登陆数据后,发起请求也被ShiroFilter拦截,状态码为302 <form action="${pag ...
- python - 基础知识,if语句
一.认识计算机 计算机是一个高度集成的电子电路. 组成:CPU(中央处理器).内存 .主板 .电源(心脏) .显示器 .键盘 .鼠标 .显卡(NAVID,AMD) .硬盘 操作系统 :Windo ...
- mysql安装和初次密码修改
下载 第一步:打开网址,https://www.mysql.com,点击downloads之后跳转到https://www.mysql.com/downloads 第二步 :跳转至网址https:// ...
- C# MVC 微信支付教程系列之公众号支付
微信支付教程系列之公众号支付 今天,我们接着讲微信支付的系列教程,前面,我们讲了这个微信红包和扫码支付.现在,我们讲讲这个公众号支付.公众号支付的应用环境常见的用户通过公众号,然后 ...
- 查看shell 命令 路径
type [root@web01 ~]# type mount mount is /bin/mount which [root@web01 ~]# type ifconfig ifconfig is ...
- 阶段01Java基础day17集合框架03
17.01_集合框架(HashSet存储字符串并遍历) A:Set集合概述及特点 通过API查看即可 B:案例演示 HashSet存储字符串并遍历 HashSet<String> hs = ...
- Android开发 ---基本UI组件6 :只定义一个listView组件,然后通过BaseAdapter适配器根据数据的多少自行添加多个ListView显示数据
效果图: 1.activity_main.xml 描述: 定义了一个按钮 <?xml version="1.0" encoding="utf-8"?> ...
- java中求余%与取模floorMod的区别
初学java的时候接触的%这个符号 百分号? 求余? 取模? 我只知道不是百分号,好像是求余,听别人那叫求模运算符,跟求余一样,于是我便信了. 思考之后开始迷糊,然后经过多次考证得到以下结论. 首先, ...
- python基础07_tuple_dict
tuple 元组 dict 字典 更详细参考:https://www.cnblogs.com/jin-xin/articles/7562422.html #!/usr/bin/env pyth ...