首页 > 系统相关 >openwrt编译带源码信息的linux内核版本遇到的错误

openwrt编译带源码信息的linux内核版本遇到的错误

时间:2024-09-10 17:36:12浏览次数:8  
标签:gcc dwarf 编译 gdb 源码 调试信息 版本 linux openwrt

1、在openwrt的根目录中可以执行如下命令:make menuconfig打开CONFIG_DEBUG选项就会生成待调试信息的内核版本

2、在openwrt的根目录中可以执行如下命令:make kernel_menuconfig打开CONFIG_DEBUG_INFO也会生成待调试信息的内核版本

问题描述:在gcc 7.5.0 和gdb 8.1.1的环境中编译出来的版本放在另一台PC上用gdb(版本7.6)调试的时候出现如下错误

Dwarf Error: wrong version in compilation unit header (is 5, should be 2, 3, or 4)

问题原因:出现此错误的原因主要是gcc 7.5.0生成的调试信息默认是dwarf 5,而gdb7.0支持的是dwarf 2,3,or 4。此问题是由于gcc和gdb的对Dwarf的版本不配套导致的,可以指定gcc编译时的版本。(-gdwarf-2、-gdwarf-3、-gdwarf-4)

解决方法:

1、这个问题的解决方法其实是编译环境的问题,可以更改gcc和gdb的版本,这需要去寻找合适的版本。当然也可以给gcc增加编译参数,使其生成dwarf 2 , 3, or 4 的调试信息,可以在.bashrc中加入alias gcc='gcc-gdwarf-2-gstrict-dwarf',重启终端使其生效,这样gdb可以使用,也不会出现上面的错误。

2、可以通过make kernel_menuconfig来让他产生dwarf 4的调试信息

参考:Dwarf Error: wrong version in compilation unit header (is 4, should be 2) [in module /dawnfs/users/-CSDN博客

说明:gdb需要在编译版本的服务器上启动才能看到源码信息,否则的话是找不到源码信息的

 

 

备注:查看ELF文件的dwarf版本信息

1、首先通过readelf -S vmlinux

2、然后通过readelf -w* vmlinux (*表示section的第一个字母,比如段.debug_info,那选项就是-wi)

或者可以直接通过如下命令查看:

Readelf -wi vmlinux | grep Version

  

 

标签:gcc,dwarf,编译,gdb,源码,调试信息,版本,linux,openwrt
From: https://www.cnblogs.com/penglcool/p/18406834

相关文章

  • Linux iostat 命令详解
    Linuxiostat命令详解在Linux系统管理中,监控磁盘I/O性能是一项至关重要的任务。iostat是sysstat包中的一个实用工具,用于监控和显示系统输入输出设备和CPU的使用情况。它提供了丰富的数据,帮助系统管理员识别并解决潜在的I/O瓶颈问题。本文将详细介绍iostat命令的使用方法和关键参......
  • 即时聊天系统源码设计开发​
    一、引言随着移动互联网的快速发展,即时通讯软件已成为人们日常生活中不可或缺的一部分。仿微信QQ聊天系统作为一种模仿主流聊天软件功能的应用,旨在为用户提供高效、便捷的沟通方式。本文将从系统架构、功能模块等方面详细介绍仿微信QQ聊天系统的设计与实现。二、系统架构仿微信QQ聊......
  • 平台开发到落地详解:从食堂采购系统源码到可视化供应链管理数据大屏
    随着数字化转型的加速,越来越多的企业和组织开始重视供应链的智能化与可视化管理。在食堂采购领域,供应链管理的复杂性与日俱增,而传统的手工操作往往效率低下、容易出错。因此,开发食堂采购系统并结合可视化数据大屏的解决方案,成为了许多企业提高运营效率、优化采购流程的关键手段。 ......
  • 2025最新毕业设计项目推荐【文末免费领取源码】
    大四的同学马上要开始做毕业设计了,大家做好准备了吗?博主给大家详细整理了计算机毕业设计最新项目,对项目有任何疑问(部署跟文档),都可以问博主哦~一、JavaWeb管理系统毕设项目1.小菲的购物商城系统2.成人继续教育网站3.SSM少儿英语演讲比赛管理系统4.伊宁市客运售票系统的设......
  • Linux系统启动速度优化工具systemd-analyze
    systemd-analyze简介systemd-analyze是Linux自带的分析系统启动性能的工具。systemd-analyze可使用的命令:systemd-analyze[OPTIONS…][time]systemd-analyze[OPTIONS…]blamesystemd-analyze[OPTIONS…]critical-chain[UNIT…]systemd-analyze[OPTIONS…]plot[>......
  • fnm安装及配置,Linux中实现node版本管理
    fnm安装及配置,Linux中实现node版本管理源码:Schniz/fnm:......
  • Linux 分区扩容(根分区扩容,SWAP 分区扩容,挂载新分区为目录)
    Linux分区扩容(根分区扩容,SWAP分区扩容,挂载新分区为目录)-sysin|SYStemINside|软件与技术分享请访问原文链接:Linux分区扩容(根分区扩容,SWAP分区扩容,挂载新分区为目录),查看最新版。原创作品,转载请保留出处。作者主页:sysin.orgLinux系统在运行过程中,出现磁盘空间不足,需......
  • 台球助教系统开发:源码搭建部署
    台球助教系统的开发是一个涉及技术、用户需求和功能实现等多方面因素的复杂过程。以下是对台球助教系统开发的一个全面概述:一、系统概述台球助教系统旨在通过技术手段提升台球学员的学习效率与体验,为台球爱好者、初学者至中高级水平的学员以及专业教练提供一个高效、智能的学......
  • 台球助教小程序开发/APP源码部署
    开发一个美女台球助教微信小程序,需要综合考虑技术实现、用户体验、内容合规性以及市场推广等多个方面。下面是一个大致的开发流程和关键要点:1.市场调研与需求分析目标用户定位:明确你的小程序主要服务于哪些人群,比如台球爱好者、初学者、专业球员等。功能需求分析:确定小程序......
  • Springboot计算机毕业设计校园二手书籍交易平台程序+源码+数据库+调试部署+开发环境)
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表用户,商家,图书中心,图书类型,公告信息,咨询信息开题报告内容一、研究背景与意义随着互联网技术的飞速发展,网络购物已成为人们日常生活中不可或缺的一部分。在......