在我自己开发的断言宏中,我一直在 iOS 设备上使用 asm("trap")(或在 iOS 模拟器上使用 asm("int3"))来中断调试器。但是,在设备的 64 位构建中,我得到了陷阱指令的“无法识别的指令助记符”。是否有 arm64 的等效项?
(像 __builtin_trap() 或 raise(SIGINT) 这样的替代方案确实有效,但有一些我不喜欢的行为;前者不会让你在休息后继续,而后者是一个函数,所以你总是在你休息时需要在堆栈中的下一级。)
最佳答案
我能够使用 asm("svc 0");
进入调试器(然后继续)。我不确定这是正确的方法,但它似乎可以完成工作。
关于ios - asm ("trap") 在 64 位 iOS 设备上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20713220/