一种基于日志打点的Linux内核调试方法技术

技术编号:11508794 阅读:100 留言:0更新日期:2015-05-27 12:52
本发明专利技术公开了一种基于日志打点的Linux内核调试方法,属于Linux内核调试方法,技术方案为:使用打印日志的方法确定内核程序的运行位置,通过添加相关的日志输出接口,根据输出日志的相关信息来实现跟踪内核程序运行的全过程;主要由两部分组成:(1)、自动修改顺序号并生成与函数的对应关系,以文件形式保存;(2)、打印日志输出顺序号和当前时间。本发明专利技术提高了开发人员的工作效率和定位的准性,降低了开发难度,缩短了开发周期。

【技术实现步骤摘要】
一种基于日志打点的Linux内核调试方法
本专利技术涉及一种Linux内核调试方法,具体地说是一种基于日志打点的Linux内核调试方法。
技术介绍
Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的UNIX工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。Linux内核是一个一体化内核(monolithickernel)系统。“内核”指的是一个提供硬件抽象层、磁盘及文件系统控制、多任务等功能的系统软件。Linux内核开发由来已久,但是对于内核的开发调试一直是开发人员比较困难的问题。就目前技术来说,内核调试都是通过直接输出特定的信息定位程序的运行位置,开发人员需要不断的添加各种信息来跟踪程序的运行。信息输出后往往是一堆信息数据,在输出信息中查找特定的信息比较困难,并且随着添加信息的增多,查找起来更加困难。另一方面,开发人员需要针对不同的位置添加不同的输出信息,稍有雷同对于定位就带来了不可估计的工作量。因此,采用一种简单有效的Linux内核调试方法很重要。
技术实现思路
本专利技术的技术任务是提供一种提高了开发人员的工作效率和定位的准性,降低了开发难度,缩短了开发周期的一种基于日志打点的Linux内核调试方法。本专利技术的技术任务是按以下方式实现的:一种基于日志打点的Linux内核调试方法,使用打印日志的方法确定内核程序的运行位置,通过添加相关的日志输出接口,根据输出日志的相关信息来实现跟踪内核程序运行的全过程;主要由两部分组成:(1)、自动修改顺序号并生成与函数的对应关系,以文件形式保存;(2)、打印日志输出顺序号和当前时间。所述的(1)中,通过dmesg或tail–f/var/log/messages查看;通过输出日志顺序号,来确定对应的程序位置;日志顺序号通过手动添加来完成,添加时顺序号定义为0,添加完毕后,通过运行日志统计功能程序,修改内核中的日志顺序号并生成一个.map文件,其中保存顺序号与函数的对应关系。所述的(2)中,日志输出中的时间是用于标记当前函数,通过该标记查找当前日志处于哪一个函数;当前时间输出信息按时间排序后,对应程序的执行顺序。流程步骤如下:(1)、在内核代码中添加日志输出功能,顺序号定义为0;(2)、运行日志统计功能程序,对内核代码中的顺序号进行替换;(3)、把生成的.map文件的内容和内核运行输出的日志分别拷贝至Excel表格,通过Excel表格的vlookup函数即可把输出的信息对应到相应的函数。本专利技术的一种基于日志打点的Linux内核调试方法具有以下优点:1、在Linux内核中添加日志信息,便可以随时打开调试开关跟踪内核程序的运行状态和运行轨迹,方便问题定位,提高了开发人员的工作效率和定位的准性,降低了开发难度,缩短了开发周期;2、使用打印日志的方法确定内核程序的运行位置,帮助开发人员快速、高效、准确的定位问题的位置。具体实施方式参照具体实施例对本专利技术的一种基于日志打点的Linux内核调试方法作以下详细地说明。实施例1:本专利技术的一种基于日志打点的Linux内核调试方法,使用打印日志的方法确定内核程序的运行位置,通过添加相关的日志输出接口,根据输出日志的相关信息来实现跟踪内核程序运行的全过程;主要由两部分组成:(1)、自动修改顺序号并生成与函数的对应关系,以文件形式保存;(2)、打印日志输出顺序号和当前时间。所述的(1)中,通过dmesg或tail–f/var/log/messages查看;通过输出日志顺序号,来确定对应的程序位置;日志顺序号通过手动添加来完成,添加时顺序号定义为0,添加完毕后,通过运行日志统计功能程序,修改内核中的日志顺序号并生成一个.map文件,其中保存顺序号与函数的对应关系。所述的(2)中,日志输出中的时间是用于标记当前函数,通过该标记查找当前日志处于哪一个函数;当前时间输出信息按时间排序后,对应程序的执行顺序。实施例2:本专利技术的一种基于日志打点的Linux内核调试方法,使用打印日志的方法确定内核程序的运行位置,通过添加相关的日志输出接口,根据输出日志的相关信息来实现跟踪内核程序运行的全过程;主要由两部分组成:(1)、自动修改顺序号并生成与函数的对应关系,以文件形式保存;(2)、打印日志输出顺序号和当前时间。所述的(1)中,通过dmesg或tail–f/var/log/messages查看;通过输出日志顺序号,来确定对应的程序位置;日志顺序号通过手动添加来完成,添加时顺序号定义为0,添加完毕后,通过运行日志统计功能程序,修改内核中的日志顺序号并生成一个.map文件,其中保存顺序号与函数的对应关系。所述的(2)中,日志输出中的时间是用于标记当前函数,通过该标记查找当前日志处于哪一个函数;当前时间输出信息按时间排序后,对应程序的执行顺序。流程步骤如下:(1)、在内核代码中添加日志输出功能,顺序号定义为0;(2)、运行日志统计功能程序,对内核代码中的顺序号进行替换;(3)、把生成的.map文件的内容和内核运行输出的日志分别拷贝至Excel表格,通过Excel表格的vlookup函数即可把输出的信息对应到相应的函数。顺序号调用次数调用时的系统时间ICFS_STAT_032A0x210x696433040ICFS_STAT_032F0x210x696433040ICFS_STAT_03340x210x696433040ICFS_STAT_03350x210x696433040ICFS_STAT_033D0x210x696433040ICFS_STAT_033E0x210x696433040ICFS_STAT_033F0x210x696433040ICFS_STAT_03410x210x696433040ICFS_STAT_03420x210x696433040ICFS_STAT_036A0x210x696433040ICFS_STAT_036B0x210x696433040ICFS_STAT_039D0x340x696433040ICFS_STAT_039E0x340x696433040ICFS_STAT_039F0x340x696433040ICFS_STAT_03A40x340x696433040ICFS_STAT_03A50x340x696433040ICFS_STAT_03C20x340x696433040ICFS_STAT_03C30x680x696433040ICFS_STAT_03C60x340x696433040ICFS_STAT_03C70x340x696433040ICFS_STAT_03C80x340x696433040ICFS_STAT_03C90x340x696433040ICFS_STAT_03CE0x340x696433040ICFS_STAT_03D20x340x696433040ICFS_STAT_03D30x340x696433040ICFS_STAT_03EC0x340x696433040ICFS_STAT_03F40x550x696433本文档来自技高网...

【技术保护点】
一种基于日志打点的Linux内核调试方法,其特征在于使用打印日志的方法确定内核程序的运行位置,通过添加相关的日志输出接口,根据输出日志的相关信息来实现跟踪内核程序运行的全过程;主要由两部分组成:(1)、自动修改顺序号并生成与函数的对应关系,以文件形式保存;(2)、打印日志输出顺序号和当前时间。

【技术特征摘要】
1.一种基于日志打点的Linux内核调试方法,其特征在于使用打印日志的方法确定内核程序的运行位置,通过添加相关的日志输出接口,根据输出日志的相关信息来实现跟踪内核程序运行的全过程;主要由两部分组成:(1)、自动修改顺序号并生成与函数的对应关系,以文件形式保存;(2)、打印日志输出顺序号和当前时间;流程步骤如下:Ⅰ、在内核代码中添加日志输出功能,顺序号定义为0;Ⅱ、运行日志统计功能程序,对内核代码中的顺序号进行替换;Ⅲ、把生成的.map文件的内容和内核运行输出的日志分别拷贝至Excel表格,通过Excel表格的vlookup函数即可把输出的信息对应到相应的函数。2.根据权...

【专利技术属性】
技术研发人员:卓维晨
申请(专利权)人:浪潮集团有限公司
类型:发明
国别省市:山东;37

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1