Подтвердить что ты не робот

Asm ( "trap" ) на 64-битных iOS-устройствах

В моем макросе макроса homegrown я использовал asm ( "trap" ) на устройствах iOS (или asm ( "int3" ) на iOS-симуляторах), чтобы сломать отладчик. Однако в 64-битных сборках для устройств я получаю "непризнанную командную мнемонику" для команды trap. Есть ли эквивалент для arm64?

(Альтернативы, такие как __builtin_trap() или raise (SIGINT), работают, но мне не нравится какое-то поведение: первое не позволит вам продолжить прорыв, а последнее - функция, поэтому вы всегда на один шаг ниже, где вам нужно быть в стеке, когда вы сломаете.)

4b9b3361

Ответ 1

Мне удалось прорваться в отладчик (и продолжить потом) с помощью asm("svc 0");. Я не уверен, что это правильный путь, но он, похоже, выполняет эту работу.