如何在内核设备驱动程序代码的各个点获取堆栈跟踪

how to get stack trace at various points in kernel device driver code

我在 Linux 中有一个设备驱动程序代码。它的执行包括很多功能和不同的功能流程。

为了调试,我想知道代码中某些点的堆栈。

例如 可以说, A 调用 B,B 调用 C,然后在函数 C 中,在我想知道堆栈的某行,应该打印类似

的内容

A-->B-->C

这样做可行吗? 让我知道你的答案。

dump_stack() 函数会有帮助。

示例用法是 http://lxr.free-electrons.com/source/sound/soc/codecs/tpa6130a2.c#L393