Linux编程时遇到Oops提示该如何排查?

  • 时间:
  • 浏览:6
  • 来源:毛肚火锅网

实际上,那末 的案例十分常见,那末 想A->B->C,实际使用是A->D->C,又肯能驱动中含某个变量忘记初始化等等,这八时析Oops就还能否 十分快速地防止疑问。那接下来亲戚亲戚亲戚一点人就用Linux中标准驱动去触发那末 Oops,对的你没看错,Linux内核标准源码也地处那末 的异常,之前 亲戚亲戚亲戚一点人也还能否 去修复那末 的疑问。

7、出错时的堆栈信息

用于表示函数的调用关系,通过这段信息亲戚亲戚亲戚一点人还能否 知道,函数的整个执行流程,知道它的函数调用关系,最后分类整理出来的函数执行流程如下:

在分析Oops之前 ,亲戚亲戚亲戚一点人先来看以下那末那末 例子,使用GPIO的中断做掉电检测,参考《嵌入式Linux开发教程下册》的驱动框架,设计如下线程池框图:

使用我司的EasyARM-iMX283开发板,内核源码为光盘内的Linux-2.6.35.3.tar.bz2,编译法律措施请参考光盘资料,亲戚亲戚亲戚一点人还能否 把lcd的背光驱动修改为ko模式。

乍看之下,这段信息跟乱码差太满,但假使 你一层层地分析,你就会发现,你这类 信息肯能告诉了亲戚亲戚亲戚一点人错误的原因分析分析分析。接下来就刚开始亲戚亲戚亲戚一点人的Oops分析之旅。

5、寄存器值

故障?一行行的查看代码吗?人太好不让那末多样化,本文将为你介绍一种高效的Linux

用于提示出错时堆栈内保存的寄存器信息,当线程池肯能中断地处或子线程池调用时,会执行压栈操作,即将运行环境保存到堆栈内,保证退出中断或经常出现子线程池后,运行环境不地处改变。

你这类 框架设计之初的理想流程为:应用启动->线程池初始化->应用open设备->等待的图片 中断事件,但实际项目开发时,往往地处许一点多不可预测的事情。如小王正在调Qt应用,发现老王的线程池老在打印,那就不让老王的线程池开机自启动,调了两4天 后,不定时地提示个Oops提示,小王按照“之前 代码不经常出现,新加的经常出现,那末起因绝对在新代码内”的惯性思维,认为是新加的Qt原因分析分析分析的,之前 小王就不断测试,不断查找bug中.......那末 就过去了十年。

用于提示错误的操作,这里表示加载mxs_bl模块时出错,对应于加载操作insmod mxs_bl.ko。

下开发线程池时,有那末遇到肯能系统中地处一点小故障而经常出现了“Oops”提示的情形,此时你是如可

从中亲戚亲戚亲戚一点人看过了熟悉的init函数、probe函数、以及清楚probe函数下执行的操作过程是到哪一步出错的。现在亲戚亲戚亲戚一点人知道了代码的执行流程,出错的PC指针的位置,但还是看那末代码,出错指针处亲戚亲戚亲戚一点人只看过了一串数字,那末接下来亲戚亲戚亲戚一点人就操作一下,把pc指针的数据变为有意义的代码。

8、函数执行的回溯关系

用于提示错误的类型,这里表示使用空指针。

但原因分析分析分析人太好是小王那末open设备,即驱动层那末初始化定时器队列,那末中断防止函数中200ms触发的队列就为那末 空值,空指针时Linux内核当然“哎呦”一下提醒你了,而不定时地提示人太好并且肯能电源不定时地松动,gpio检测到掉电了并且触发了中断。

3、PC指针

4、LR指针

6、出错线程池信息

各位工程师在

1、主要错误信息

而此处的堆栈信息即记录了线程池运行时的环境信息。从中亲戚亲戚亲戚一点人还能否 找到一点LR地址,从而分溶解函数调用关系,与下一段的信息有这类 作用。

用于提示出错时的LR指针位置,LR指针即调用子函数的上那末 函数名以及入口偏移量,这里表示上那末 函数为set_bl_intensity,偏移地址为0xd8。即set_bl_intensity调用regulator_set_current_limit时出错。

2、操作入口

的故障排除法律措施。

用于提示出错的线程池id号与线程池名称。出错线程池为insmod, PID号2261,对于多任务系统中,肯能地处多个PID调用同那末 接口的情形。

烧录完新内核,加载新编译出来的drivers/video/backlight/mxs_bl.ko文件就会提示以下Oops信息:

用于提示出错时的PC指针位置,PC指针即当前线程池运行点的地址,这里提示表示错误函数为regulator_set_current_limit,偏移地址为0xc。

用于记录出错时各个寄存器的值,对于汇编比较熟悉的同志们还能否 研究一下这段信息。

猜你喜欢

前瞻:心怀冠军梦,东道主期待打响“第一枪”

当前位置>首页>今日看点>热线:0371-65710329(网站)信箱:hntyxww@126.com前瞻:心怀冠军梦,东道主期待打响“第一枪”2019-06

2019-07-23

华米科技与钢铁侠推联名手表? 6月3日值得期待

近日,华米科技在官微正式提前大选 将与漫威进行协作,6月3日有“暖心消息”的说法,也被亲戚亲戚朋友解读为届时将有华米科技漫威定制款新品推出市场。今天上午,有博主扒出一张国外知

2019-07-23

2019中国电子商务大会在京开幕

5月29日,2019中国电子商务大会在北京国家会议中心盛大开幕。本届大会由商务部、北京市人民政府主办,商务部电子商务和信息化司、北京市商务局承办。大会以“数据驱动开放融合”为主

2019-07-23

广东:2019年01月中山市人力资源和社会保障局招聘事业单位高层次人才补充公告

广东:2019年01月中山市人力资源和社会保障局招聘事业单位高层次人才补充公告2019-01-1214:12:33【大中小】微信搜索关注"91考试网"公众号,领400元,获取事

2019-07-23

ROG枪神3 Plus:游戏玩家的“儿童节”礼物

回想一下,在亲们儿所有曾经度过的儿童节里,收到的最难忘的礼物是你這個?几乎所有同学的答案都逃没了没有两个词——玩具。它也能是两个芭比娃娃、也能是两个奥特曼、也能是一架飞机、也能

2019-07-23