按点击付费断点

2024-03-27

如何在 PPC 上(具体来说,在 OS X 上)实现断点?

例如,在 x86 上,通常使用 INT 3 指令 (0xCC) 完成——对于 ppc 是否有与此类似的指令?或者还有其他设置/实施的方式吗?


使用 gdb 和一个十六进制转储自身的函数,我得到 0x7fe00008。这似乎是TW指令 http://pic.dhe.ibm.com/infocenter/aix/v6r1/topic/com.ibm.aix.aixassem/doc/alangref/tw.htm#mj2a0ken:

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 反汇编只是扩展助记符trap http://pic.dhe.ibm.com/infocenter/aix/v6r1/topic/com.ibm.aix.aixassem/doc/alangref/fixed_point_trap.htm#zu8rh2fjeff

EDIT:我正在使用“GNU gdb 6.3.50-20050815(Apple 版本 gdb-696)(格林尼治标准时间 2007 年 10 月 20 日星期六 18:20:28)”

EDIT 2:也有可能是有条件的断点将使用其他形式tw or twi如果所需的值已在寄存器中并且调试器不需要跟踪命中计数。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

按点击付费断点 的相关文章

随机推荐