gpt4 book ai didi

debugging - ARM Gdb 在处理器模式更改时中断

转载 作者:行者123 更新时间:2023-12-04 22:40:10 26 4
gpt4 key购买 nike

我目前正在调试 Linux ARM 内核,并且一直想知道 gdb 是否有可能在 cpu 模式更改(usr、svc、abt 等)时中断。目前,当我不确定我们处于哪种模式时,我通常必须多次查看 psr 寄存器,但也许有更有效的方法,例如模式更改时中断?

我知道我可以在异常向量上放置断点,但这意味着我只能检测到特权模式的模式更改,而不是相反。也许有一个命令来检查 psr 是否更改为 0x10(usr 模式)?

谢谢

最佳答案

所有进程都安排在entry-common.S中.该文件有一个名为 arch_ret_to_user 的宏。将其定义为 BKPT 指令,可能以通过 /proc 的全局集为条件。

您通常无法单独使用 CPU 检测到用户模式的切换(您需要支持代码),因为主管代码可以更改任何内容ETM如果您的 CPU 具有该功能,可能会有一些方法。

还有thread_nofity.h它具有重新安排用户任务时的回调。如果您不需要调试器或在 null(){} 函数上放置一些断点,您可以使用您自己的逻辑 Hook 它,您仅在以下情况下从通知程序调用该函数条件是指。

关于debugging - ARM Gdb 在处理器模式更改时中断,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13759583/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com