gpt4 book ai didi

debugging - SPARC 单步执行模式

转载 作者:行者123 更新时间:2023-12-02 02:50:45 26 4
gpt4 key购买 nike

是否有与 x86 的单步模式等效的 SPARC?我想要的是在每条指令之后停止执行并将控制流移动到陷阱处理程序或类似的东西。

我考虑过在延迟执行槽中使用 ta 指令,但是当前一条指令是设置了 annul 位的分支指令时,这将不起作用。

最佳答案

Sparc在PSR中缺少单步位,所以单步比较难。但我用了一个技巧来帮助靠近。将 TPC 设置为您要单步执行的指令的地址,并将 TNPC 设置为您放置陷阱指令的其他地方的地址。当你执行重试指令回到进程上下文时,它会单步执行你想要的指令,然后它会执行陷阱指令,这会把你带回内核,在那里你可以做任何你想做的事。 (注意,这是针对 sparc64 的,不确定 sparc32)。这是一个很好的技巧,因为您没有修改用户地址空间中的现有指令。这对我很重要,因为我在内核中使用单步执行指令。

我有过但从未尝试过的另一个想法,就是简单地将 TNPC 设置为非法地址。然后在 TPC 的指令执行后,您将自动陷入内核。并且由于陷阱处理代码知道进程是单步执行的,因此不会对“真正的”非法地址陷阱产生混淆。

关于debugging - SPARC 单步执行模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52356818/

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