【发布时间】:2012-12-07 08:39:42
【问题描述】:
我目前正在调试 Linux ARM 内核,并且一直想知道当 cpu 模式更改(usr、svc、abt 等)时 gdb 是否可能中断。目前,当我不确定我们处于哪种模式时,我通常需要多次查看 psr 寄存器,但也许有更有效的方法,例如模式更改时中断?
我知道我可以在异常向量上设置断点,但这意味着我只检测到特权模式的模式更改,而不是相反。也许有一个命令可以检查 psr 是否更改为 0x10(usr 模式) ?
谢谢
【问题讨论】:
-
您真的想在交换机上中断,还是只是想知道您当前是在用户空间还是内核空间中运行?如果您只需要后面的信息,您可以查看您当前的电脑,0xC0000000 以上的所有内容都是默认 3/1G 拆分中的内核空间。
-
我不想运行 linux 内核并在它切换到用户模式时中断,以便我可以检查计划的用户进程。嗯,我可能会中断调度程序,但问题是内核进程的调度方式与我认为的相同
标签: debugging linux-kernel gdb arm