目录
前言
相信从事 Linux 内核或者驱动相关开发的人员对于dump_stack()函数并不陌生,时常使用该函数来跟踪kernel源码和debug分析问题,快速的理清函数之间的调用关系;
一、dump_stack使用
1、当需要分析函数之间调用关系时,只需要把dump_stack()放到该函数里,当运行到该函数时,系统会在debug串口打印出函数之间的调用栈关系;
2、使用方法
只需在需要查看调用关系的函数里,添加dump_stack()函数即可能打印出关于该函数前面的调用关系;
(1)以系统调用驱动probe函数为例
编辑了一个haha-test驱动,并且在probe函数里添加dump_stack()函数:
static int haha_test_probe(struct platform_device *pdev)
{
printk("%s: ========= loading probe start =======\n",__func__);
du