Ho letto sulla Runtime Sanitization nel Apple docs nel nuovo Xcode 7, quindi l'ho cercato e ho scoperto che è disabilitato. Sto usando il seme Xcode 7 GM.Perché "Enable Address Sanitizer" è disabilitato in Xcode 7?
Quando vado in azione Run del sistema> scheda Diagnostica, l'opzione Enable Address Sanitizer
è disabilitata:
C'è qualche spiegazione su come le altre opzioni sono handicappati, ma non si parla del perché la l'opzione di disinfezione sarebbe disabilitata:
Alcuni strumenti diagnostici possono essere utilizzati in combinazione con altri; le opzioni disponibili nel riquadro Diagnostica sono abilitate e disabilitate in quanto vengono scelte opzioni diverse per aiutarti a selezionare le combinazioni di opzioni. Per esempio, attivare il disinfettante indirizzo e gli altri, gli strumenti non compatibili sono disabilitati e non possono essere scelti
Guardando il Clang 3.8 documentation for Addresssanitizer, sembra che può anche essere attivata, con l'aggiunta di un flag: -fsanitize=address
. Ma dove questo flag dovrebbe essere usato nelle impostazioni di build è un mistero, e discutibile poiché esiste anche come opzione di checkbox nello schema.
trovato anche questo SO answer, ma è piuttosto complesso, e probabilmente superati, in quanto lo era nel 2013.
Ho già selezionato 'Abilita Guardia Malloc' e non ho pensato di deselezionarlo. Grazie! – Sheamus
L'attivazione di una delle seguenti opzioni impedisce l'uso di Address Sanitizer: Abilita Malloc Scribble, Abilita Malloc Guard Edge, Abilita Guard Malloc e Malloc Stack. Tutte queste opzioni dovrebbero essere deselezionate in modo che l'Address Sanitizer possa essere attivato. – Dalzhim
Perché è così? – jcanizales