dump_stack函数可以帮助我们回溯内核调用栈的先后顺序,比如:

本文基于5.15.133版本讨论dump_stack在ARM64架构上的实现。
dump_stack的实现与架构有关,但是原理都是通过回溯栈帧。
在ARM64架构上,栈回溯的实现在arch/arm64/kernel/stacktrace.c的dump_backtrace函数中实现,其调用的流程是:
| 编号 |
函数 |
文件 |
| 1 |
dump_stack |
lib/dump_stack.c |
| 2 |
dump_stack_lvl |
|
| 3 |
__dump_stack |
|
| 4 |
show_stack |
arch/arm64/kernel/stacktrace.c |
| 5 |
dump_backtrace |
dump_backtrace中栈帧回溯的主要实现逻辑为:
- void

最低0.47元/天 解锁文章
392

被折叠的 条评论
为什么被折叠?



