在我自己开发的断言宏中,我一直在iOS设备上使用asm(“陷阱”)(或在iOS模拟器上使用asm(“int3”)来打破调试器。但是,在64位版本的设备中,我得到了陷阱指令的“无法识别的指令助记符”。 arm64有同等效力吗?
(像__builtin_trap()或raise(SIGINT)这样的替代品可以工作,但有一些我不喜欢的行为;前者不会让你继续经过休息,而后者是一个功能所以你总是在下面一步当你休息时你需要在堆栈中。)
在我自己开发的断言宏中,我一直在iOS设备上使用asm(“陷阱”)(或在iOS模拟器上使用asm(“int3”)来打破调试器。但是,在64位版本的设备中,我得到了陷阱指令的“无法识别的指令助记符”。 arm64有同等效力吗?
(像__builtin_trap()或raise(SIGINT)这样的替代品可以工作,但有一些我不喜欢的行为;前者不会让你继续经过休息,而后者是一个功能所以你总是在下面一步当你休息时你需要在堆栈中。)
我能够闯入调试器(并在之后继续) asm("svc 0");
。我不确定这是不是 正确 方式,但它似乎做的工作。
我能够闯入调试器(并在之后继续) asm("svc 0");
。我不确定这是不是 正确 方式,但它似乎做的工作。