Domanda in fondo: è possibile che Xcode attenda il lancio di un'applicazione, quindi avvia l'applicazione dall'esterno di Xcode, quindi Xcode si ferma in corrispondenza di un punto di interruzione?Xcode debug dei punti di interruzione all'avvio dell'app da Xcode
descrizione --detailed below--
desidero debug (passo attraverso la linea per linea) un semplice programma C che richiede testo da convogliato per stdin utilizzando Xcode 4.6.3 su 10.8. 5.
Per fare così ho bisogno di avviare il programma come questo $ cat in.txt | ./mysimpleprogram> out.txt e il debugger Xcode si ferma a un punto di interruzione.
Ho seguito le istruzioni che ho trovato in questa risposta https://stackoverflow.com/a/13006633/2779792 ma Xcode non si ferma ai punti di interruzione.
di riprodurre il problema
Aprire Xcode 4.6.3
Nella schermata "Benvenuti in Xcode" scegliere "Creare un nuovo progetto Xcode"
In "Scegliere un modello per il nuovo progetto "schermo scegli Mac OS X -> Applicazione -> Strumento riga di comando quindi fai clic su Avanti
Nella" C opzioni di hoose per il tuo nuovo progetto: "schermo Nome prodotto: HelloWorld, Tipo: C -> Avanti, Usa conteggio riferimento automatico = Falso
Scegliere un percorso per il progetto.
Nota: Nelle preferenze Xcode -> Locali -> dati derivati, ho selezionato "relativo"
Vai al menu del prodotto -> Scheme -> Modifica Schema
Sul lato sinistro della finestra Modifica schema, selezionata per impostazione predefinita è "Esegui HelloWorld Debug". Sul lato destro della finestra Modifica schema ho modificato il pulsante di opzione Avvia automaticamente per "Attendere il lancio di HelloWorld". Debugger = LLDB, Debug Process As = me
Impostare uno o più punti di interruzione nel codice.
Selezionare Prodotto -> Esegui (o fare clic sul pulsante Riproduci). Ora la finestra principale di Xcode dice "Waiting for HelloWorld to launch".
Aprire una finestra di terminale e passare alla eseguibile HelloWorld, nel mio caso .../HelloWorld/DerivedData/HelloWorld/costruire/Prodotti/Debug/
eseguire il programma con il comando ./HelloWord
Il programma esegue e stampa Hello, World! come previsto, Xcode dice "Finito di eseguire HelloWorld: HelloWorld". Non si è fermato in nessuno dei punti di interruzione.
Comportamento desiderato, Xcode deve fermarsi ai punti di interruzione e consentirmi di scorrere il codice.
Grazie per qualsiasi aiuto o suggerimento.
Hai provato 'Debugger-> Attach to Process'? – BergQuester
Per il tuo suggerimento Ho provato alcune varianti di apertura di un terminale e selezionando Prodotto -> Collega a Processo -> Terminale. Ancora non si ferma ai punti di interruzione. "Terminale" è il processo corretto da allegare a? Ovviamente HelloWorld non è un processo disponibile nell'elenco e HelloWorld sarebbe presente nell'elenco solo per un microsecondo una volta avviato. –