10

新しい Xcode 7 のApple ドキュメントでランタイム サニタイズについて読んだので、それを探したところ、無効になっていることがわかりました。Xcode 7 GM シードを使用しています。

スキームの [実行] アクション > [診断] タブに移動すると、Enable Address Sanitizerオプションが無効になります。

ここに画像の説明を入力

他のオプションがどのように無効化されるかについてはいくつかの説明がありますが、サニタイズ オプションが無効化される理由については言及されていません。

一部の診断ツールは、他のツールと組み合わせて使用​​できます。[診断] ペインで使用できるオプションは、オプションの組み合わせを選択するのに役立つさまざまなオプションが選択されているため、有効または無効になっています。たとえば、アドレスサニタイザーを有効にすると、互換性のないその他のツールが無効になり、選択できなくなります

AddresssanitizerのClang 3.8 ドキュメントを見ると、フラグを追加して有効にすることもできるようです: -fsanitize=address。しかし、ビルド設定でこのフラグを使用する場所は謎であり、スキームのチェックボックスオプションとしても存在するため、疑問があります。

this SO answerも見つかりましたが、2013年に戻ったため、かなり複雑で、おそらく時代遅れです。

4

2 に答える 2

2

また、デバイスではなく、Mac/iOS/TV シミュレーターが選択されていることを確認する必要があります。ウォッチ シミュレーターはサポートされていません。(Xcode 9 以降)

于 2018-03-15T19:05:11.873 に答える