2015-09-17 20 views
8

新しいXcode 7のApple docsでランタイムサニタイズについて読んだので、それを探して無効になっていることがわかりました。私はXcode 7 GMシードを使用しています。Xcode 7で「アドレスサニタイザを有効にする」が無効になっているのはなぜですか?

私はスキームの実行行為に入る> [診断]タブ、Enable Address Sanitizerオプションが無効になっている:

enter image description here

disbledされているか、他のオプションに関するいくつかの説明が、なぜのは言及しないがありますサニタイズオプションが無効になります。

診断ツールの中には、他の診断ツールと組み合わせて使用​​するものもあります。診断ペインで使用可能なオプションは、オプションの組み合わせを選択するのに役立つさまざまなオプションが選択されるため、有効または無効になります。 -fsanitize=address:例えば、消毒剤や他のアドレスを有効にするには、互換性のないツールが無効になっているとClang 3.8 documentation for Addresssanitizerを見てみると

を選択することはできません、それはまた、フラグを追加することにより、有効にすることができるように、それが見えます。しかし、ビルド設定でこのフラグを使用する場所は、スキームのチェックボックスオプションとして存在するため、謎であり疑問です。

はまた、このSO answerを見つけたが、それはあなたが現在警備隊のmalloc使用して消毒一緒にアドレスすることはできません2013

答えて

9

に戻っていたので、それは、おそらく時代遅れかなり複雑で、そして。 Enable Guard Mallocチェックボックスを選択すると、Enable Address Sanitizerチェックボックスは無効になります。 Address Sanitizerを使用する場合は、Enable Guard Mallocチェックボックスの選択を解除します。

+0

すでに「Enable Guard Malloc」が選択されていて、選択を解除するとは考えていませんでした。ありがとう! – Sheamus

+2

次のいずれかのオプションを有効にすると、Address Sanitizerを使用できなくなります.Malloc Scribbleを有効にし、Malloc Guard Edgeを有効にし、Guard MallocとMalloc Stackを有効にします。 Address Sanitizerを有効にするには、これらのオプションをすべてオフにする必要があります。 – Dalzhim

+0

これはなぜですか? – jcanizales

関連する問題