我遇到的问题是PC
1 和LR
2 都指向 内核的sched.c中的函数cpuacct_charge()
。是否存在可能发生这种情况的任何情况?我的分析显示cpuacct_charge()
函数没有递归。我无法提供代码。但是,任何情况下发生这种情况都会有很大帮助。
澄清: PC和LR的值指向功能中的其他位置:
void cpuacct_charge(struct task_struct *tsk, u64 cputime)
注1: PC
- 程序计数器
注2: LR
- 链接注册
答案 0 :(得分:1)
当一个函数返回时,它基本上会转移到链接寄存器中的地址。
所以,大概是你在函数返回后立即暂停了程序。