Xcode では、スローされた例外の説明を評価する条件でブレークポイントを設定して、そのブレークポイントで停止するかどうかを決定できます。Core Data は制御フロー メカニズムとして内部的に例外をスローし、Core Data ではなく例外で停止する必要があるため、これは Core Data を操作する場合に特に役立ちます。(注: 説明されているように例外をフィルタリングする方法を知りたい場合は、SO の質問Ignore specific exceptions when using Xcode's All Exceptions breakpointで回答されています)。
ただし、これらのフィルターは、例外のアドレスがレジスターに格納されているため、レジスターの内容に依存することがよくあります。シミュレーター (Intel アーキテクチャーで実行) では、レジスターは です$eax
が、デバイス (ARM アーキテクチャー) では$r0
です。
現在使用されているアーキテクチャに関係なく、1 つの式が正しいレジスタを使用するように、2 つのアーキテクチャを区別する式を作成することは可能ですか?