Domanda

Ho Xcode 3.1.2 su OS X 10.5.5. Ho un progetto iPhone che funziona bene ma il debugger non colpirà nessuno dei punti di interruzione che ho impostato. Ho provato tutte le correzioni standard che trovo in rete:

  1. Ho disattivato "Carica simboli pigramente" nelle preferenze di Xcode
  2. La mia configurazione attiva è Debug
  3. Il livello di ottimizzazione è 0 nelle impostazioni di creazione
  4. Ho pulito tutti gli obiettivi e ricostruito
  5. Uso Build and Debug (al contrario di Build and Run)

Ho pensato che avrei potuto modificare inavvertitamente le impostazioni sul mio progetto. Quindi ho creato un nuovo progetto e quello ha lo stesso problema.

Spero che mi manchi qualcosa di facile qui. Il mio debugger funzionava solo pochi giorni fa ma all'improvviso si è fermato.


UPDATE:

Le cose stanno diventando sempre più strane. Ecco alcune risposte alle risposte

  1. Non riesco a trovare le opzioni "GCC 4.0 - Generazione del codice" da nessuna parte. Ho guardato bene e in basso sia nella pagina Informazioni sul bersaglio che in quelle eseguibili. L'unica opzione che vedo è selezionare la versione del compilatore e GCC 4.0 è selezionato, ma questa è una sezione di una riga senza opzioni aggiuntive.
  2. Informazioni su dove posizionare i punti di interruzione: il mio unico punto di interruzione per ora è in main () e non viene colpito
  3. Sto avviando il debugger con Run - > Comando di debug (/% Y). Ancora niente fortuna

AGGIORNAMENTO 2:

  1. SDK di base modificato nelle impostazioni di destinazione in Sim 2.2.1. Modificato SDK attivo in Sim 2.2.1.
  2. Ora posso vedere le opzioni di generazione del codice di GCC 4.0 - I simboli di debug sono controllati
  3. Non raggiunge ancora i punti di interruzione

ecco il registro della console (punto di interruzione impostato sulla prima riga di main.m):

[Session started at 2009-03-06 21:29:19 -0600.]
Loading program into debugger…
GNU gdb 6.3.50-20050815 (Apple version gdb-962) (Sat Jul 26 08:14:40 UTC 2008)
Copyright 2004 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for details.
This GDB was configured as "i386-apple-darwin".warning: Unable to read symbols for "/System/Library/Frameworks/UIKit.framework/UIKit" (file not found).
warning: Unable to read symbols from "UIKit" (not yet mapped into memory).
warning: Unable to read symbols for "/System/Library/Frameworks/CoreGraphics.framework/CoreGraphics" (file not found).
warning: Unable to read symbols from "CoreGraphics" (not yet mapped into memory).
Program loaded.
sharedlibrary apply-load-rules all
Attaching to program: `/private/var/root/Library/Application Support/iPhone Simulator/User/Applications/753D12B3-777C-473B-B098-3E0AF6282545/TestApp.app/TestApp', process 577.
Re-enabling shared library breakpoint 1

Inoltre è qui il registro gdb:

t=0.000852 Tepoch=1236463545.631514
<- (gdb) 
-> 135-gdb-version
#  PBXGDB_MIGDBVersionCommand t=4.308986 Tepoch=1236463549.939648
-> 136-gdb-set auto-raise-load-levels 1
#  PBXGDB_MISetAutoRaiseSymbols t=4.309420 Tepoch=1236463549.940082
-> 139-gdb-set env __CF_USER_TEXT_ENCODING 0x0:0:0
#  PBXGDB_MISetEnvCommand t=4.309702 Tepoch=1236463549.940364
-> 140-gdb-set env USERBREAK 1
#  PBXGDB_MISetEnvCommand t=4.309935 Tepoch=1236463549.940598
-> 141-gdb-set env DYLD_FRAMEWORK_PATH /Projects/TestApp/build/Debug-iphonesimulator
#  PBXGDB_MISetEnvCommand t=4.310175 Tepoch=1236463549.940837
-> 142-gdb-set env Apple_PubSub_Socket_Render /tmp/launch-GqkpX5/Render
#  PBXGDB_MISetEnvCommand t=4.310568 Tepoch=1236463549.941231
-> 143-gdb-set env SECURITYSESSIONID 715cd0
#  PBXGDB_MISetEnvCommand t=4.310803 Tepoch=1236463549.941465
-> 144-gdb-set env DYLD_LIBRARY_PATH /Projects/TestApp/build/Debug-iphonesimulator
#  PBXGDB_MISetEnvCommand t=4.311040 Tepoch=1236463549.941702
-> 145-gdb-set env SSH_AUTH_SOCK /tmp/launch-hRgLzb/Listeners
#  PBXGDB_MISetEnvCommand t=4.311299 Tepoch=1236463549.941961
-> 146-gdb-set env HOME /var/root
#  PBXGDB_MISetEnvCommand t=4.311587 Tepoch=1236463549.942250
-> 147-gdb-set env SHELL /bin/sh
#  PBXGDB_MISetEnvCommand t=4.311818 Tepoch=1236463549.942480
-> 148-gdb-set env DYLD_NO_FIX_PREBINDING YES
#  PBXGDB_MISetEnvCommand t=4.312048 Tepoch=1236463549.942710
-> 149-gdb-set env COMMAND_MODE unix2003
#  PBXGDB_MISetEnvCommand t=4.312281 Tepoch=1236463549.942943
-> 150-gdb-set env DYLD_NEW_LOCAL_SHARED_REGIONS YES
#  PBXGDB_MISetEnvCommand t=4.312546 Tepoch=1236463549.943209
-> 151-gdb-set env SSH_ASKPASS /Developer/Library/PrivateFrameworks/DevToolsInterface.framework/Resources/Xcode SSHPassKey
#  PBXGDB_MISetEnvCommand t=4.312780 Tepoch=1236463549.943443
-> 152-gdb-set env PATH /Developer/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin
#  PBXGDB_MISetEnvCommand t=4.313612 Tepoch=1236463549.944275
-> 153-gdb-set env DISPLAY /tmp/launch-yrv3vV/:0
#  PBXGDB_MISetEnvCommand t=4.313849 Tepoch=1236463549.944512
-> 154-gdb-set env USER root
#  PBXGDB_MISetEnvCommand t=4.314141 Tepoch=1236463549.944803
-> 155-gdb-set env NSUnbufferedIO YES
#  PBXGDB_MISetEnvCommand t=4.314377 Tepoch=1236463549.945039
#  Enqueue seq in Command Q: <PBXGDB_SetupSharedLibrarySequence: 0x9049db0> t=4.314625 Tepoch=1236463549.945288
#  Executing Sequence: <PBXGDB_SetupSharedLibrarySequence: 0x9049db0> t=4.314718 Tepoch=1236463549.945380
-> 157-gdb-set inferior-auto-start-cfm off
#  PBXGDB_MISetLoadCFMInfoCommand t=4.314895 Tepoch=1236463549.945557
-> 156-gdb-set sharedLibrary load-rules dyld ".*Foundation.*" all dyld ".*libobjc.*" all dyld ".*libauto.*" all dyld ".*/usr/lib/dyld.*" all dyld ".*CFDataFormatters.*" all dyld ".*PBGDBIntrospectionSupport.*" all dyld ".*AppKit.*" all dyld ".*libSystem.*" all dyld ".*CarbonDataFormatters.*" all dyld ".*CoreFoundation.*" extern dyld "/System/Library/Frameworks\\\\|/System/Library/PrivateFrameworks\\\\|/usr/lib" extern dyld ".*" extern exec ".*" extern 
#  PBXGDB_MISetSharedLibraryLoadSymbolsCommand t=4.315975 Tepoch=1236463549.946637
-> 137-file-exec-and-symbols "/private/var/root/Library/Application Support/iPhone Simulator/User/Applications/09734C45-F595-4CB9-8707-744E92D66245/TestApp.app/TestApp"
#  PBXGDB_MILoadExecutableCommand t=4.320612 Tepoch=1236463549.951275
#  Enqueue seq in Command Q: <PBXGDB_FixAndContinueIsSupportedSequence: 0x9bdc260> t=4.321476 Tepoch=1236463549.952138
#  Enqueue seq in Command Q: <PBXGDB_NewBreakpointSequence: 0xa516f90> t=4.321941 Tepoch=1236463549.952603
#  Enqueue seq in Command Q: <PBXGDB_AttachControlSequence: 0xa4fceb0> t=4.322157 Tepoch=1236463549.952820
<- ~"GNU gdb 6.3.50-20050815 (Apple version gdb-962) (Sat Jul 26 08:14:40 UTC 2008)\n"
<- ~"Copyright 2004 Free Software Foundation, Inc.\n"
<- ~"GDB is free software, covered by the GNU General Public License, and you are\nwelcome to change it and/or distribute copies of it under certain conditions.\nType \"show copying\" to see the conditions.\nThere is absolutely no warranty for GDB.  Type \"show warranty\" for details.\n"
<- ~"This GDB was configured as \"i386-apple-darwin\"."
<- 135^done,version="6.3.50-20050815 (Apple version gdb-962)",rc_version="962",target="i386-apple-darwin",build-date="Sat Jul 26 08:14:40 UTC 2008",time={wallclock="0.03311",user="0.00081",system="0.00014",start="1236463549.989179",end="1236463550.022291"}
#  processing result t=4.392345 Tepoch=1236463550.023007
<- (gdb) 
<- 136^done,time={wallclock="0.00005",user="0.00005",system="0.00001",start="1236463550.024272",end="1236463550.024325"}
#  processing result t=4.394163 Tepoch=1236463550.024826
<- (gdb) 
<- 139^done,time={wallclock="0.00007",user="0.00005",system="0.00002",start="1236463550.025511",end="1236463550.025581"}
#  processing result t=4.395347 Tepoch=1236463550.026010
<- (gdb) 
<- 140^done,time={wallclock="0.00003",user="0.00003",system="0.00001",start="1236463550.026564",end="1236463550.026597"}
#  processing result t=4.396328 Tepoch=1236463550.026991
<- (gdb) 
<- 141^done,time={wallclock="0.00003",user="0.00003",system="0.00001",start="1236463550.027857",end="1236463550.027890"}
#  processing result t=4.397653 Tepoch=1236463550.028315
<- (gdb) 
<- 142^done,time={wallclock="0.00003",user="0.00003",system="0.00001",start="1236463550.029080",end="1236463550.029113"}
#  processing result t=4.398865 Tepoch=1236463550.029528
<- (gdb) 
<- 143^done,time={wallclock="0.00003",user="0.00003",system="0.00001",start="1236463550.030126",end="1236463550.030159"}
#  processing result t=4.399923 Tepoch=1236463550.030585
<- (gdb) 
<- 144^done,time={wallclock="0.00003",user="0.00003",system="0.00001",start="1236463550.031449",end="1236463550.031482"}
#  processing result t=4.401855 Tepoch=1236463550.032518
<- (gdb) 
<- 145^done,time={wallclock="0.00003",user="0.00003",system="0.00001",start="1236463550.033257",end="1236463550.033291"}
#  processing result t=4.403022 Tepoch=1236463550.033685
<- (gdb) 
<- 146^done,time={wallclock="0.00006",user="0.00003",system="0.00002",start="1236463550.034226",end="1236463550.034287"}
#  processing result t=4.404018 Tepoch=1236463550.034680
<- (gdb) 
<- 147^done,time={wallclock="0.00003",user="0.00003",system="0.00001",start="1236463550.035215",end="1236463550.035247"}
#  processing result t=4.405007 Tepoch=1236463550.035670
<- (gdb) 
<- 148^done,time={wallclock="0.00003",user="0.00003",system="0.00001",start="1236463550.036306",end="1236463550.036340"}
#  processing result t=4.406068 Tepoch=1236463550.036731
<- (gdb) 
<- 149^done,time={wallclock="0.00003",user="0.00003",system="0.00001",start="1236463550.037344",end="1236463550.037377"}
#  processing result t=4.407107 Tepoch=1236463550.037770
<- (gdb) 
<- 150^done,time={wallclock="0.00003",user="0.00003",system="0.00001",start="1236463550.038448",end="1236463550.038483"}
#  processing result t=4.408214 Tepoch=1236463550.038876
<- (gdb) 
<- 151^done,time={wallclock="0.00003",user="0.00003",system="0.00001",start="1236463550.040541",end="1236463550.040576"}
#  processing result t=4.410438 Tepoch=1236463550.041101
<- (gdb) 
<- 152^done,time={wallclock="0.00003",user="0.00003",system="0.00001",start="1236463550.041901",end="1236463550.041933"}
#  processing result t=4.411665 Tepoch=1236463550.042327
<- (gdb) 
<- 153^done,time={wallclock="0.00003",user="0.00003",system="0.00001",start="1236463550.042984",end="1236463550.043016"}
#  processing result t=4.412784 Tepoch=1236463550.043446
<- (gdb) 
<- 154^done,time={wallclock="0.00003",user="0.00002",system="0.00001",start="1236463550.043956",end="1236463550.043988"}
#  processing result t=4.413717 Tepoch=1236463550.044379
<- (gdb) 
<- 155^done,time={wallclock="0.00003",user="0.00003",system="0.00001",start="1236463550.044974",end="1236463550.045007"}
#  processing result t=4.414737 Tepoch=1236463550.045400
<- (gdb) 
<- 157^done,time={wallclock="0.00003",user="0.00003",system="0.00001",start="1236463550.046108",end="1236463550.046141"}
#  processing result t=4.415931 Tepoch=1236463550.046594
<- (gdb) 
<- 156^done,time={wallclock="0.00005",user="0.00005",system="0.00001",start="1236463550.050271",end="1236463550.050324"}
#  processing result t=4.420235 Tepoch=1236463550.050897
-> 158sharedlibrary apply-load-rules all
#  PBXGDB_MISharedLibraryApplyLoadRulesCommand t=4.420386 Tepoch=1236463550.051049
<- (gdb) 
<- &"warning: Unable to read symbols for \"/System/Library/Frameworks/UIKit.framework/UIKit\" (file not found).\n"
<- &"warning: Unable to read symbols from \"UIKit\" (not yet mapped into memory).\n"
<- &"warning: Unable to read symbols for \"/System/Library/Frameworks/CoreGraphics.framework/CoreGraphics\" (file not found).\n"
<- &"warning: Unable to read symbols from \"CoreGraphics\" (not yet mapped into memory).\n"
<- 137^done,time={wallclock="0.34917",user="0.17115",system="0.11409",start="1236463550.052577",end="1236463550.401747"}
#  processing result t=4.771918 Tepoch=1236463550.402580
<- (gdb) 
<- &"sharedlibrary apply-load-rules all\n"
<- 158^done
#  processing result t=4.820019 Tepoch=1236463550.450681
#  didFinish Sequence: <PBXGDB_SetupSharedLibrarySequence: 0x9049db0> t=4.820135 Tepoch=1236463550.450797
#  Executing Sequence: <PBXGDB_FixAndContinueIsSupportedSequence: 0x9bdc260> t=4.820259 Tepoch=1236463550.450921
-> 159-mi-verify-command file-fix-file-is-grooved
#  PBXGDB_MIVerifyCommandCommand t=4.820398 Tepoch=1236463550.451060
<- (gdb) 
<- 159^done,name="file-fix-file-is-grooved",defined="true",implemented="true",time={wallclock="0.00011",user="0.00007",system="0.00001",start="1236463550.451848",end="1236463550.451955"}
#  processing result t=4.821746 Tepoch=1236463550.452409
-> 160-file-fix-file-is-grooved
#  PBXGDB_MIFixAndContinueSupportedCommand t=4.821894 Tepoch=1236463550.452556
<- (gdb) 
<- 160^done,supported="1",details="Yes grooved!",time={wallclock="0.00006",user="0.00005",system="0.00002",start="1236463550.453356",end="1236463550.453417"}
#  processing result t=4.823203 Tepoch=1236463550.453865
#  didFinish Sequence: <PBXGDB_FixAndContinueIsSupportedSequence: 0x9bdc260> t=4.823344 Tepoch=1236463550.454006
#  Executing Sequence: <PBXGDB_NewBreakpointSequence: 0xa516f90> t=4.823433 Tepoch=1236463550.454095
#  Passed verification of state before break create command t=4.823569 Tepoch=1236463550.454231
-> 161-break-insert -l -1 -f  -s "TestApp" "\"main.m:13\""
#  PBXGDB_MICreateFileBreakpointCommand t=4.823679 Tepoch=1236463550.454342
<- (gdb) 
<- =shlib-state-modified,shlib-info=[num="1",name="TestApp",kind="-",dyld-addr="-",reason="exec",requested-state="Y",state="Y",path="/private/var/root/Library/Application Support/iPhone Simulator/User/Applications/09734C45-F595-4CB9-8707-744E92D66245/TestApp.app/TestApp",description="/private/var/root/Library/Application Support/iPhone Simulator/User/Applications/09734C45-F595-4CB9-8707-744E92D66245/TestApp.app/TestApp",loaded_addr="",slide="0x0",prefix="",dsym-objpath="/Projects/TestApp/build/Debug-iphonesimulator/TestApp.app.dSYM/Contents/Resources/DWARF/TestApp"]
<- 161^done,bkpt={number="1",type="breakpoint",disp="keep",enabled="y",addr="0x000028cf",func="main",file="/Projects/TestApp/main.m",line="13",shlib="/private/var/root/Library/Application Support/iPhone Simulator/User/Applications/09734C45-F595-4CB9-8707-744E92D66245/TestApp.app/TestApp",times="0"},time={wallclock="0.15835",user="0.00321",system="0.00184",start="1236463550.455187",end="1236463550.613542"}
#  processing result t=4.996437 Tepoch=1236463550.627100
#  didFinish Sequence: <PBXGDB_NewBreakpointSequence: 0xa516f90> t=4.996599 Tepoch=1236463550.627262
#  Executing Sequence: <PBXGDB_AttachControlSequence: 0xa4fceb0> t=4.996690 Tepoch=1236463550.627352
-> 162-mi-verify-command target-attach
#  PBXGDB_MIVerifyCommandCommand t=4.996824 Tepoch=1236463550.627486
<- (gdb) 
<- 162^done,name="target-attach",defined="true",implemented="true",time={wallclock="0.00007",user="0.00006",system="0.00001",start="1236463550.627975",end="1236463550.628046"}
#  processing result t=4.998137 Tepoch=1236463550.628799
-> 163-target-attach 288
#  PBXGDB_MIAttachCommand t=4.998293 Tepoch=1236463550.628955
<- (gdb) 
<- ~"Attaching to program: `/private/var/root/Library/Application Support/iPhone Simulator/User/Applications/09734C45-F595-4CB9-8707-744E92D66245/TestApp.app/TestApp', process 288.\n"
<- ~"Re-enabling shared library breakpoint 1\n"
<- =shlibs-updated
<- 163^done,thread-id="1",time={wallclock="0.00362",user="0.00151",system="0.00203",start="1236463550.629436",end="1236463550.633055"}
#  processing result t=5.010455 Tepoch=1236463550.641117
#  Enqueue seq in Command Q: <PBXGDB_ThreadListSequence: 0xa4e0520> t=5.011284 Tepoch=1236463550.641946
-> 164-exec-continue
#  PBXGDB_MIContinueExecutableCommand t=5.011420 Tepoch=1236463550.642082
<- (gdb) 
<- 164^running
#  processing result t=5.070065 Tepoch=1236463550.700727
#  didFinish Sequence: <PBXGDB_AttachControlSequence: 0xa4fceb0> t=5.071843 Tepoch=1236463550.702505
<- (gdb) 
È stato utile?

Soluzione

  

Non riesco a trovare 'GCC 4.0 - Codice   Opzioni di generazione ovunque. Io ho   sembrava ciao e basso in entrambi Target e   Pagine di informazioni eseguibili. L'unica opzione   Vedo è selezionare il compilatore   versione e GCC 4.0 è selezionato, ma   questa è una sezione di una riga con n   opzioni aggiuntive.

Questo è un bug Xcode in 3.1.1 e 3.1.2 se l'SDK attivo non è sincronizzato con l'SDK di base del target. Imposta l'SDK di base di Target su Simulator, assicurati che SDK attivo sia Simulator e riprova.

Se vuoi davvero ricevere una risposta, dovrai pubblicare ulteriori informazioni sul tuo progetto: una schermata delle Impostazioni di costruzione o un testo dalla Console di debugger.

AGGIORNAMENTO: Nota anche in Xcode > Preferenze > Debug: alt text http://idisk.mac.com/cdespinosa/Public/GDB%20Log .png

Seleziona la casella, inserisci un percorso ragionevole nel campo percorso, prova il tuo scenario di debug, quindi invia un bug su http: / /bugreporter.apple.com con il registro allegato e una descrizione del tuo scenario, oppure chiedi alle brave persone su xcode-users@lists.apple.com. Il registro gdb contiene tutte le informazioni su come il debugger interagisce con l'applicazione.

Altri suggerimenti

Nelle preferenze di Xcode vai nella sezione debug e disattiva 'Carica simboli pigramente'.

Ciò mi ha risolto alcuni mesi fa quando ho riscontrato questo problema per la prima volta.

Questo è una specie di " è collegato " risposta, ma ehi, a volte questo è il problema: i punti di interruzione sono abilitati? A volte quando eseguo il debug, dimentico di fare clic sul pulsante nella barra degli strumenti di debug che abilita e disabilita i punti di interruzione.

La sezione GCC 4.0 - Generazione di codice viene visualizzata solo quando si imposta l'SDK attivo su Dispositivo - iPhone OS 2.x . Vai a capire. Scompaiono quando Active SDK è il simulatore.

È necessario modificare l'SDK attivo su Dispositivo, modificare le impostazioni e quindi tornare a Simulatore. Le impostazioni effettuate in Dispositivo dovrebbero essere valide anche per Simulatore. Questo funziona anche con es. impostazione di un flag -DDEBUG per la preelaborazione.

(Aggiornamento: avevo solo la metà. Vedi la risposta accettata da Chris Espinosa in merito a questo bug dell'SDK. Non è che la sezione GCC 4.0 venga visualizzata quando l'SDK attivo è impostato su " Dispositivo " è che il tuo SDK di base e Active SDK devono corrispondere per accedere a queste impostazioni).

Un altro semplice suggerimento:
I punti di interruzione blu chiaro sono blu scuro?

Xcode ti consente di disattivare i punti di interruzione e questi sono indicati con una freccia azzurra (come se fosse oscurata).

Prova a eseguire il progetto premendo Command-Option-Y (questo forza Xcode ad avviare il programma con il debugger).

I pulsanti sulla barra dei menu di Xcode possono essere in qualche modo fuorvianti. Se il pulsante dice "Esegui", non esegue il programma nel debugger. Se dice "Go", esegue il programma, tuttavia è stato creato l'ultima volta (ovvero rilascio o debug). Command-Option-Y avvia il programma specificamente nel debugger.

Inoltre, assicurarsi che i punti di interruzione siano abilitati. È possibile fare clic con il tasto destro su di essi per verificare. Inoltre, nella finestra Debugger, sulla barra degli strumenti dovrebbe essere presente un'opzione per Attivare o Disattivare i punti di interruzione. Assicurati che siano attivati.

Questa potrebbe essere una risposta eccezionalmente ovvia, ma potrebbe funzionare. Hai provato ad aggiungere punti di interruzione nel codice diverso da main ()? Ad esempio, nel metodo applicationDidFinishLaunching dell'applicazione del delegato app? So che DOVREBBE passare prima attraverso main, ma dal momento che quel codice in main non viene normalmente modificato per le app per iPhone, potrebbe essere un po 'traballante. Vale la pena provare comunque.

Inoltre, per trovare le opzioni GCC 4.0 - Generazione di codice, fai clic sul triangolo per aprire il gruppo Target e fai clic sul nome della tua app sotto Target. Fai clic sul pulsante Informazioni nella parte superiore della finestra di Xcode e otterrai le impostazioni per la tua app. Vai a Build. Assicurati che il menu a discesa Mostra: sia impostato su Tutte le impostazioni. Se scorri verso il basso da lì, dovrebbe essere uno degli elenchi che puoi modificare (dopo il controllo delle versioni e prima di GCC 4.0 - Lingua)

Quando il programma è in esecuzione, puoi fare un CTRL-C nella finestra della Console (mentre il cursore è lì). Se interrompi il tipo di programma info br che dovrebbe fornire un elenco dei punti di interruzione attivi , allora la domanda è: sono quelli che hai impostato?

Esistono due file di configurazione gdb che possono essere utili per dare un'occhiata.

  • /etc/gdb.conf
  

I miei hanno MD5 (/etc/gdb.conf) = 31b58e1ecf038554faadf777d63e9085

  • ~ / .gdbinit
  

Non ho, ne hai uno?

Hai verificato che la tua configurazione di build utilizza il tuo certificato di sviluppo per la firma del codice?

Se si utilizza un certificato Ad Hoc, verrà comunque compilato ed eseguito correttamente, ma poco dopo il lancio dell'app, Xcode si staccherà dal dispositivo in modo che non vengano mai raggiunti punti di interruzione. Puoi capire rapidamente se si è staccato o meno se guardi in basso a sinistra nella finestra principale di Xcode dopo aver fatto clic su Build & amp; Vai - se non stai utilizzando il certificato del dispositivo di sviluppo effettivo, vedrai un messaggio che dice qualcosa come "Codice esadecimale non valido ricevuto dal dispositivo".

Sembra che tu stia eseguendo il programma come root , che non sembra essere giusto ...

Nell'elenco delle impostazioni di creazione, non ti occupi di quello più cruciale:

alt text http://idisk.mac.com/cdespinosa /Public/Generate%20Debug%20Symbols.png

Assicurati che Genera simboli di debug sia selezionato per la configurazione di Debug e assicurati che la configurazione di Debug sia attiva durante la compilazione e il debug.

Altre due cose da provare:

1) Deseleziona Correggi e continua. Il tuo registro dettagliato di gdb indica che potrebbe essere attivo. Assicurati di guardare le impostazioni di destinazione e non le impostazioni del progetto quando lo confermi.

2) Prova non in esecuzione come root. Non è chiaro il motivo per cui è necessario. È possibile che Xcode in esecuzione come root abbia interazioni con il simulatore; francamente non usiamo questa configurazione molto, quindi non lo saprei.

Il registro mostra che tutto funziona normalmente. Hai un binario integrato che viene avviato nel simulatore; è l'architettura giusta e ben formata; hai simboli di debug; si dispone di un punto di interruzione e il punto di interruzione viene impostato. Stiamo prendendo in considerazione la tua parola (poiché non vediamo la tua fonte) che il punto di interruzione si trova effettivamente su una riga di codice che viene eseguita.

  

Se si utilizza un certificato Ad Hoc, verrà comunque creato ed eseguito correttamente, ma poco dopo   all'avvio dell'app, Xcode si staccherà dal dispositivo in modo che nessun punto di interruzione raggiunga mai.

Questo mi ha aiutato.

Devo chiedere, dato che ho avuto lo stesso problema, è un mac "reale"? C'è questo esatto problema con il voodoo hacintosh kernal. Se stai usando il voodoo kernal, avvia con std_dyld = 1 e tutto andrà bene

Funziona davvero sul kernel voodoo, l'avvio con std_dyld = 1 fa fermare Xcode al punto di interruzione. Consiglio incredibile, davvero. Mille grazie a te John, sei una specie di salvavita !!! Ho usato OSX86Tools per aggiungere automaticamente questo flag di avvio. Polo

Ho provato praticamente tutto in questo thread e il riavvio del dispositivo ha risolto il mio problema.

Ho appena avuto lo stesso problema. Non ho ancora una soluzione reale, ma ho capito che nel mio caso dipende dal dispositivo. L'errore si verifica solo sul mio iPod Touch 4G. Quando passo al mio iPhone 3G, tutto funziona bene e i punti di interruzione funzionano di nuovo.

Non so se questo abbia qualcosa a che fare con il problema, ma potrebbe essere l'iPod4 ha un problema a causa della versione beta di iOS 5 installata 2. Di solito quando riscontro un bug in iOS 5 va bene riavviare il dispositivo . Tuttavia ... il riavvio di iPod4 non ha aiutato nel mio caso ...

Soluzione:

Questo problema mi ha infastidito per alcune settimane, ma finalmente ho trovato una soluzione per il mio caso:

  1. Assicurati che l'SDK sul tuo Mac sia uguale (o più recente) della versione iOS sul tuo dispositivo.
  2. Riavvia il dispositivo mentre è collegato tramite USB e Xcode è in esecuzione.

Ho avuto una situazione simile .. dopo 6 ore di debug e confronto dei file di progetto, finalmente ha funzionato. La situazione era che avevo un progetto di 2 anni originariamente realizzato in Xcode 3.1 giorni. Ho provato a eseguirlo in Xcode 4.5.1 con punti di interruzione e non ha mai funzionato.

Ecco cosa ho fatto per risolverlo ..

1) Nel progetto > Build Settings .. Cerca Debug. 2) Crea solo architettura attiva > Cambia debug su Sì 3) Genera simboli di debug > sì 4) Macro preprocessore > Debug = 1

Ora funziona bene.

Apple dovrebbe davvero migliorare l'esperienza complessiva di Xcode. Capisco che sia gratuito (ehi, ottieni quello per cui paghi), ma comunque, i bug in esso sono quasi offensivi per gli sviluppatori.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top