iPhone: Impossibile ottenere simulatore per generare .gcda file di dati di profilatura
Domanda
Sto tentando di profilo il mio codice utilizzando il simulatore iPhone. Ho permesso Genera prova File Copertura e Programma di flusso Strumento e ha aggiunto -lgcov per le bandiere linker. Secondo tutto quello che ho letto che dovrebbe essere tutto quello che ho bisogno di fare in termini di messa a punto.
Aggiornamento: Genera file di test di copertura fa scattare il -ftest-copertura di bandiera e Programma di portata dello strumento scattare -fprofile-archi bandiera. Ho controllato i log di costruzione e loro sono in fase di durante la compilazione.
L'esecuzione del programma posso vedere la .gcno file che appaiono lungo il lato della .o codice compilato nella build / .build / Debug-iphonesimulator / .build / / directory oggetti-i386 normali.
Ma quando faccio funzionare l'applicazione nel simulatore non ho ricevuto alcuna *. GCDA i file che appaiono.
La mia comprensione è che questi file contengono i dati dalla strumentazione. Ma non riesco a trovare da nessuna parte sul computer.
So che possono essere prodotti e appaiono lungo il lato della *. GCNO i file perché ho un vecchio Trashed Buil directory che ha loro. Non riesco proprio a capire cosa devo fare per farli apparire e registrare la corsa.
Qualsiasi aiuto apprezzato.
Soluzione
link avrebbe darvi qualche idea. Esplorando il link che ho trovato
Il file .gcno viene generato quando il file sorgente viene compilato con GCC Opzione -ftest-copertura. Contiene informazioni per ricostruire la base grafici blocco e linea di source assegnare numeri ai blocchi.
Il file .gcda viene generato quando un file di programma contenente oggetti costruiti con il CCG opzione -fprofile-archi è eseguito. Un file .gcda a parte è creazione di ogni file oggetto compilato con questa opzione. Esso contiene arco conta di transizione, e un po 'di sintesi informazioni.
Quindi, può essere che si sta costruendo con alcune impostazioni errate. L'informazione è menzionato sul http: // gcc. gnu.org/onlinedocs/gcc/Gcov-Data-Files.html#Gcov-Data-Files
Altri suggerimenti
Questo link può avere la risposta, in fondo file GCDA non vengono generati fino a quando la vostra applicazione esce correttamente. Dà due possibili soluzioni:
- completamente uscire dal simulatore
-
aggiungere questo alla tua plist (ma non per il rilascio costruisce):
<key>UIApplicationExitsOnSuspend</key> <true/>