64位iOS设备上的asm(“陷阱”)

时间:2013-12-20 22:54:03

标签: ios arm64

在我自己开发的断言宏中,我一直在iOS设备上使用asm(“陷阱”)(或在iOS模拟器上使用asm(“int3”)来打破调试器。但是,在设备的64位版本中,我得到陷阱指令的“无法识别的指令助记符”。有没有arm64的等价物?

(像__builtin_trap()或raise(SIGINT)这样的替代品可以工作,但有一些我不喜欢的行为;前者不会让你继续经过休息,而后者是一个功能所以你总是下面的一步,当你休息时,你需要在堆栈中。)

1 个答案:

答案 0 :(得分:9)

我能够使用asm("svc 0");进入调试器(并在之后继续)。我不确定这是正确的方式,但它似乎可以完成这项工作。