ios - asm ("trap") 在 64 位 iOS 设备上

标签 ios arm64

在我自己开发的断言宏中,我一直在 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/

相关文章:

iphone - 正确释放一个 viewController,将其自身设置为其他类的委托(delegate)?

objective-c - 是什么导致表格单元格以随机/未知模式显示?

ios - 尝试通过 CocoaPods 安装 ParseUI 时出现奇怪的错误

arm64 上的 Linux : sendto causes "Unhandled fault: alignment fault (0x96000021)" when sending data from mmapped coherent DMA buffer

cocoa-touch - 在 arm64 上使用 NSScanner 处理 CGFloat

ios - pushViewController 不做任何 Action

ios - 同一对象上两个用户的 ACL

linux - 如何知道 linux 内核运行 EL2(非安全)或 EL3(安全)模式?

linux - 从 VHD 创建 Azure ARM64 镜像

ios - XCode 7 : How to assemble armv7, arm64 和 x86 .S 文件分开?