我遇到的问题是 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
- 链接寄存器
最佳答案
当函数返回时,它基本上会跳转到链接寄存器中的地址。
因此,大概您在函数返回后立即暂停了程序。
关于android - Android内核中PC和LR功能相同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15293295/