linux内核调试技巧之一 dump_stack
Posted linhaostudy
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux内核调试技巧之一 dump_stack相关的知识,希望对你有一定的参考价值。
在内核中代码调用过程难以跟踪,上下文关系复杂,确实让人头痛
调用dump_stack()就会打印当前cpu的堆栈的调用函数了。
如此,一目了然的就能看到当前上下文环境,调用关系了
假设:
遇到uvc_probe_video这么一个函数,不知道它最终是被谁调用到的,根据linux设备模型,初步推测,probe应该是设备适配驱动时总线轮训到的。
也只能是猜测,也根本无法猜测是否是中断上下文环境。
加入这条函数
再看打印,发现如下
原来并不是在适配设备啊,只是ioctl掉用的而已。
以上是关于linux内核调试技巧之一 dump_stack的主要内容,如果未能解决你的问题,请参考以下文章
内核中dump_stack的实现原理 —— 内核函数printk的实现