如何在内核设备驱动程序代码的各个点获取堆栈跟踪
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
我在 Linux 中有一个设备驱动程序代码。它的执行包括很多功能和不同的功能流程。
为了调试,我想知道代码中某些点的堆栈。
例如 可以说, A 调用 B,B 调用 C,然后在函数 C 中,在我想知道堆栈的某行,应该打印类似
的内容A-->B-->C
这样做可行吗? 让我知道你的答案。
dump_stack()
函数会有帮助。
示例用法是 http://lxr.free-electrons.com/source/sound/soc/codecs/tpa6130a2.c#L393