Xcodeでハードブレークを引き起こす命令は何ですか? たとえば、Visual Studio では、'_asm int 3' または 'DebugBreak()' を実行できます。一部の GCC 実装では、asm("break 0") または asm("trap") です。
Xcodeでさまざまなコンボを試しましたが、運がありませんでした。(インライン アセンブラは正常に動作するため、構文の問題ではありません)。
参考までに、これは assert マクロ用です。移植性と、XCode が提供するバージョンで abort() を実行するように見えるため、assert.h の定義を使用したくありません。
ジョン - スーパー、乾杯。参考までに、int 3 構文は、Intel Mac および iPhone に必要なものです。
Chris - コメントありがとうございます。しかし、さまざまなプラットフォームに移植されたコードベースに対して標準の assert() 関数を避けるべき多くの理由があります。独自の assert をローリングするのに苦労した場合、それは通常、保持したい追加機能 (ログ、スタックの巻き戻し、ユーザー操作) があるためです。
「__assert」などの実装を介してハンドラーを置き換えようとする提案は移植性がありません。標準の「assert」は通常マクロであり、Mac では __assert にマップされる場合がありますが、他のプラットフォームではマップされません。 .