13

自作の assert マクロでは、iOS デバイスで asm("trap") (または iOS シミュレーターで asm("int3")) を使用してデバッガーを中断しています。ただし、デバイスの 64 ビット ビルドでは、トラップ命令に対して「認識されない命令ニーモニック」が表示されます。arm64に相当するものはありますか?

( __builtin_trap() や raise(SIGINT) などの代替手段は機能しますが、私が気に入らない動作がいくつかあります。前者はブレークを超えて続行できず、後者は関数であるため、常に一歩下になりますブレーク時にスタック内にいる必要がある場所。)

4

2 に答える 2

8

I was able to break into the debugger (and continue afterwards) with asm("svc 0");. I’m not sure this is the correct way but it seems to do the job.

于 2013-12-21T00:06:16.843 に答える