专栏首页linux驱动个人学习linux内核调试技巧之一 dump_stack【转】

linux内核调试技巧之一 dump_stack【转】

在内核中代码调用过程难以跟踪,上下文关系复杂,确实让人头痛

调用dump_stack()就会打印当前cpu的堆栈的调用函数了。

如此,一目了然的就能看到当前上下文环境,调用关系了

假设:

遇到uvc_probe_video这么一个函数,不知道它最终是被谁调用到的,根据linux设备模型,初步推测,probe应该是设备适配驱动时总线轮训到的。

也只能是猜测,也根本无法猜测是否是中断上下文环境。

加入这条函数

再看打印,发现如下

原来并不是在适配设备啊,只是ioctl掉用的而已。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 双缓冲(Double Buffer)原理和使用

    原文出自:http://blog.csdn.net/xiaohui_hubei/article/details/16319249

    233333
  • Linux-3.14.12内存管理笔记【构建内存管理框架(4)】

    虽说前文分析内存管理框架构建的实现,提到了find_zone_movable_pfns_for_nodes(),但这里不准备复述什么,仅针对required_m...

    233333
  • Android图形显示之硬件抽象层Gralloc【转】

    233333
  • 面向对象有限元编程|数值计算类

    python主要依赖第三方库numpy,其中np.array和np.mat有区别,主要体现在:

    fem178
  • 实习期间的一些idea

    大厂的实习,环境确实太多,很多系统,一开始接触是一头雾水的,面试造飞机,进来造轮子,就这么真实,但是造轮子也能学习一些东西吧。自己在造轮子中碰到的一些问题经常是...

    公众号guangcity
  • python numpy 的基础操作

    e=np.array([['ding','mo'],['xiao','momo']])

    小末快跑
  • 聊聊spring cloud gateway的PrefixPath及StripPrefix功能

    本文主要研究一下spring cloud gateway的PrefixPath及StripPrefix功能

    codecraft
  • NumPy初步使用

    获取ndarray对象的基本信息:维数(ndim)、行列信息(shape)、数据存储类型(dtype)

    用户1515472
  • 最近弄HybridApp的一些心得

    SDK的项目折腾了一个月,终于快到收获的时候,把这过程中的一些心得体会记录一下吧~

    libo1106
  • 单词接龙

    给定两个单词(beginWord 和 endWord)和一个字典 wordList,找出所有从 beginWord 到 endWord 的最短转换序列。转换需遵...

    你的益达

扫码关注云+社区

领取腾讯云代金券