2015-10-22 5 views
5

Abbiamo riscontrato questo problema dal Xcode 7 beta e il problema persiste fino ad oggi con Xcode 7.1.Xcode 7.0 e 7.1, copertura del codice attivata, crash test dell'unità "impossibile unire il file GCDA precedente: tag arco corrotto"

Fondamentalmente non è possibile attivare la copertura del codice ON in Xcode. In Xcode 6, questo ha funzionato bene, ma è stato rotto da allora Xcode 7. Al termine di una corsa di prova di unità, otteniamo output della console infinito dicendo:

profiling: /Users/<my path to app>/ObjectiveC.gcda: cannot merge previous GCDA file: corrupt arc tag (<some hex address>) 

ripete questa uscita fino a quando l'applicazione si blocca . Non ho idea del motivo per cui questo sta accadendo e tutti i tentativi di risolvere questo problema sono falliti (tranne che per disattivare i flussi del programma di strumenti e disattivare la copertura del codice). Ho anche provato a impostare uno script di fase di esecuzione che trova e cancella i precedenti file di copertura del codice, ma anche questo non ha funzionato.

Qualcuno l'ha capito?

risposta

1

Le nuove funzioni di copertura del codice Xcode 7 utilizzano lo LLVM coverage format.

anche Xcode 7 ha nuove impostazioni di generazione per la copertura del codice: "CLANG_ENABLE_CODE_COVERAGE"

Assicurarsi che "CLANG_ENABLE_CODE_COVERAGE" è impostato su "SI" e seguendo a NO:

GCC_GENERATE_TEST_COVERAGE_FILES = NO; GCC_INSTRUMENT_PROGRAM_FLOW_ARCS = NO;

+0

grazie a @gagarwal. Ho risposto alla mia Q in modo da poter aggiungere gli screenshot. – n8tr

2

Grazie @gagarwal per la direzione. Dovrò solo capire uno strumento di reporting jenkins diverso dal momento che i vecchi file di copertura del codice erano necessari, ma suppongo che non sia più supportato. Ecco alcuni screenshot per illustrare il programma di installazione che genera report di copertura del codice visualizzabili all'interno di Xcode basate su sugguestions di gagarwal:

----------------------   
main app target config 
---------------------- 

enter image description here enter image description here

---------------------- 
test app target config 
---------------------- 

enter image description here enter image description here

------------------------------------------ 
Scheme config (see "Gather coverage data") 
------------------------------------------ 

enter image description here

+0

Questo ha aiutato, grazie – naveed148

Problemi correlati