2013-12-20 12 views
11

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

(__builtin_trap()やraise(SIGINT)のような代替機能は動作しますが、私は好きではない動作をしています;前者はあなたがブレークを過ぎることを許さず、後者は関数です

答えて

9

asm("svc 0");でデバッガに侵入することができました(後で続きます)。私はこれが正しいと確信していません道ですが、それは仕事をするようです。

+0

正しくありません。これは未知のシステムコールを呼び出し、これは[SIGSYSシグナル](https://en.wikipedia.org/wiki/Unix_signal#SIGSYS)(悪いシステムコール)を生成し、デバッガはそれをキャッチします。代わりに[SIGSTOP](https://stackoverflow.com/a/44142833/468725)を送信する方が良いと思います – Pavel

関連する問題