首页
学习
活动
专区
圈层
工具
发布

PPC断点
EN

Stack Overflow用户
提问于 2008-11-29 09:12:22
回答 6查看 4K关注 0票数 3

断点是如何在PPC上实现的(具体地说,是在OS上)?

例如,在x86上,通常使用int3指令(0xCC) --对于ppc,有类似的指令吗?或者,是否有其他方式设置/实现它们?

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2008-11-29 09:32:01

我从一个可靠的(但目前喝醉了,所以请对此持保留态度)消息来源说,这是一个零指令是非法的,并导致某种类型的系统陷阱。

编辑:制作成社区维基,以防我的朋友喝得烂醉,简直是胡说八道:-)

票数 -1
EN

Stack Overflow用户

发布于 2012-04-24 03:09:06

使用gdb和一个自转储的函数,我得到0x7fe00008。这似乎是tw instruction

代码语言:javascript
复制
0b01111111111000000000000000001000
  011111                           31
        11111                      condition flags: lt, gt, ge, logical lt, logical gt
             00000                 rA
                  00000            rB
                       0000000100  constant 4
                                 0 reserved

例如,将r0与r0进行比较,并对任何结果进行陷阱。

GDB的反汇编就是extended mnemonic trap

编辑:我使用的是"GNU gdb 6.3.50-20050815 (Apple version gdb-696) (Sat Oct 20 18:20:28 GMT 2007)“

EDIT 2:如果所需的值已经在寄存器中,并且调试器不需要跟踪命中计数,那么条件断点也可能使用其他形式的twtwi

票数 6
EN

Stack Overflow用户

发布于 2008-11-29 13:43:48

除了软件断点,PPC还支持硬件断点,通过IABR (也可能是IABR2,取决于核心版本)寄存器实现。这些是指令断点,但也有数据断点(使用DABR实现,可能还包括DABR2)。如果您的核心支持两组硬件断点寄存器(即存在IABR2和DABR2 ),您可以做的不仅仅是在特定地址上触发:您可以指定整个连续的地址范围作为断点目标。对于数据断点,您还可以指定是否希望它们在写入、读取或任何访问时触发。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/327372

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档