[发明专利]一种记录内核异常栈及调试信息的方法及系统有效
| 申请号: | 201510555761.8 | 申请日: | 2015-09-01 |
| 公开(公告)号: | CN105159819B | 公开(公告)日: | 2018-03-13 |
| 发明(设计)人: | 高福亮 | 申请(专利权)人: | 汉柏科技有限公司 |
| 主分类号: | G06F11/34 | 分类号: | G06F11/34 |
| 代理公司: | 北京路浩知识产权代理有限公司11002 | 代理人: | 李相雨 |
| 地址: | 300384 天津市滨海新*** | 国省代码: | 天津;12 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 记录 内核 异常 调试 信息 方法 系统 | ||
1.一种记录内核异常栈及调试信息的方法,其特征在于,所述方法包括:
创建两个全局变量和一个全局变量数组,其中,第一全局变量用于保存文件句柄,第二全局变量用于保存内核异常标识位,全局变量数组用于缓存内核异常栈信息;
当内核发生异常时,在存储介质中打开用于记录内核异常栈信息的文件,并将该文件的文件句柄记录到第一全局变量中;
设置所述内核异常标识位;
当调用printk函数时,若检测到所述内核异常标识位处于置位状态,则将当前内核异常栈信息缓存到所述全局变量数组中;
根据所述文件句柄,将所述全局变量数组中缓存的内核异常栈信息保存到对应的用于记录内核异常栈信息的文件中。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
当调用printk函数时,若检测到所述内核异常标识位处于非置位状态,则将当前需要打印的内容打印到串口或显示器。
3.根据权利要求1所述的方法,其特征在于,所述在存储介质中打开用于记录内核异常栈信息的文件之后,还包括:
获取当前系统时间,将所述当前系统时间作为内核异常发生时间记录在所述文件中。
4.根据权利要求1-3任一项所述的方法,其特征在于,所述当内核发生异常时,在存储介质中打开用于记录内核异常栈信息的文件,具体包括:
当内核发生异常时,触发内核异常处理函数,在内核异常处理函数中打开用于记录内核异常栈信息的文件,该文件所在路径为存储介质;
其中,所述内核异常处理函数为oops内核异常处理函数。
5.根据权利要求4所述的方法,其特征在于,所述oops内核异常处理函数通过调用文件打开函数在存储介质中打开用于记录内核异常栈信息的文件,并生成文件句柄;
保存返回的文件句柄。
6.一种记录内核异常栈及调试信息的系统,其特征在于,所述系统包括:
变量创建模块,用于创建两个全局变量和一个全局变量数组,其中,第一全局变量用于保存文件句柄,第二全局变量用于保存内核异常标识位,全局变量数组用于缓存内核异常栈信息;
文件打开模块,用于当内核发生异常时,在存储介质中打开用于记录内核异常栈信息的文件,并将该文件的文件句柄记录到第一全局变量中;
标识设置模块,用于设置所述内核异常标识位;
信息缓存模块,用于当调用printk函数时,若检测到所述内核异常标识位处于置位状态,则将当前内核异常栈信息缓存到所述全局变量数组中;
信息写入模块,用于根据所述文件句柄,将所述全局变量数组中缓存的内核异常栈信息保存到对应的用于记录内核异常栈信息的文件中。
7.根据权利要求6所述的系统,其特征在于,所述系统还包括:
打印模块,用于当调用printk函数时,若检测到所述内核异常标识位处于非置位状态,则将当前需要打印的内容打印到串口或显示器。
8.根据权利要求6所述的系统,其特征在于,所述系统还包括:
时间获取模块,用于在存储介质中打开用于记录内核异常栈信息的文件之后,获取当前系统时间,将所述当前系统时间作为内核异常发生时间记录在所述文件中。
9.根据权利要求6所述的系统,其特征在于,所述文件打开模块,具体用于当内核发生异常时,触发内核异常处理函数,在内核异常处理函数中打开用于记录内核异常栈信息的文件,该文件所在路径为存储介质;
其中,所述内核异常处理函数为oops内核异常处理函数。
10.根据权利要求9所述的系统,其特征在于,所述文件打开模块,具体通过利用所述oops内核异常处理函数调用文件打开函数在存储介质中打开用于记录内核异常栈信息的文件,并生成文件句柄。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于汉柏科技有限公司,未经汉柏科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510555761.8/1.html,转载请声明来源钻瓜专利网。
- 上一篇:自动化测试装置及方法
- 下一篇:纳米粒子射流微量润滑磨削雾滴粒径的测量装置





