Quando mi fermo a un punto di interruzione in XCode, posso vedere il valore delle variabili NSString. Come posso cambiarli? Posso cambiare le variabili int o double, ma non NSString.come modificare il valore NSString durante il debug in XCode?
risposta
È possibile farlo nella console di debug. Supponi di avere NSString* myVar
. Nella console, dopo (gdb)
, digitare set myVar = @"My new string"
. Se si utilizza (lldb)
, utilizzare invece l'espressione equivalente expr myVar = @"My new string"
.
Questo potrebbe non essere visualizzato correttamente nel pannello delle variabili, ma è possibile verificare il valore immettendo po myVar
nella console. Il tuo codice dovrebbe prendere il nuovo valore.
per alcuni grandi informazioni su come utilizzare expr
, controlla this StackOverflow post.
Questo non funziona per me in XCode 4.3.1 usando (lldb). Ottengo errori su "riferimento a" id "è ambiguo" e "1 errore espressione di parsing". – funroll
Stai colpendo una variazione di un bug noto in XCode 4.3.x. Vedi [questo post] (http://stackoverflow.com/questions/9515630/lldb-fails-to-print-variable-values-with-error-reference-to-id-is-ambiguous). Secondo la risposta, questo è risolto in XCode 4.4 – MikeG
Usando expr whateverVariable = @ "55fc633a22570e2b7e00003b" ha funzionato per me. – finneycanhelp
Si può, ma si deve chiamare il codice dal prompt dei comandi del debugger. Per esempio, supponiamo di avere un fuoco punto di interruzione nel modo giusto dopo questa riga:
NSString *myString = @"My current string";
Poi alla (gdb) Tipo di messaggio:
call myString = @"My new string"
Puoi po myString
prima di cambiare la stringa e dopo aver modificato per verificare che sia cambiato.
Un altro esempio: si supponga di voler modificare il titolo di un controller di visualizzazione. Puoi usare il setter. * Nota: la notazione dei punti non è supportata nella riga di comando del debugger. Ad esempio, lascia caricare la vista e quindi imposta un punto di interruzione da qualche parte durante la durata del controller di visualizzazione. Poi fare questo:
call (id)[self setTitle:@"New Title"]
continuare l'esecuzione del programma e si dovrebbe vedere aggiornamento del titolo del vostro controller della vista.
la mia risposta è vecchia. Ora puoi farlo ora: ** po myString = @ "my_new_string" ** e ** po self.title = @ "Nuovo titolo" ** – n8tr
Per NSError Sto usando questo:
(lldb) expression aTempError = (NSError*)[[NSError alloc] initWithDomain:@"MANO" code:1 userInfo:nil]
(https://stackoverflow.com/users/1202867/n8tr) il commento di n8tr dall'alto mostra come farlo. Hai appena precedere il tuo compito con "po" in questo modo: po myString = @ "my_new_string" e po self.title = @ "Nuovo titolo".
Funziona con Xcode 6.3.2. – Huperniketes
- 1. Come modificare il valore delle variabili durante il debugging con LLVM in Xcode?
- 2. Come visualizzare il testo in una NSString nel debug
- 3. Xcode 7 crash durante il debug
- 4. XCode debug vs release build durante il debug
- 5. Come stampare i valori durante il debug
- 6. Visualizza lo stato dell'oggetto/proprietà in Xcode durante il debug
- 7. Xcode 4: come modificare il valore della variabile $ {EXECUTABLE_NAME}?
- 8. eclissi - cerca il valore della variabile durante il debug
- 9. Xcode 3.2 + LLVM = nessun simbolo locale durante il debug
- 10. Come arrestare il timer durante il debug
- 11. Come posso modificare il valore di una variabile durante il debug di codice Java in NetBeans 7.1?
- 12. Xcode che valuta le espressioni durante il debug
- 13. Come modificare il colore di sfondo dell'evidenziazione della linea durante il processo di debug in Netbeans?
- 14. iOS: il debug non funziona in XCode
- 15. Modifica variabili statiche durante il debug in Eclipse
- 16. Come modificare/impostare il valore DateTimePicker
- 17. Come posso modificare un valore variabile durante il debug in IntelliJ, in modo che i rispettivi orologi vengano aggiornati automaticamente?
- 18. Come modificare una colonna e modificare il valore predefinito?
- 19. Come convertire il valore NSString @ "3.45" in float?
- 20. Come visualizzare il valore di un puntatore durante il debug in Delphi?
- 21. Visual Studio 2013 valore di variabile errato durante il debug
- 22. Come posso eseguire il debug in un framework in Xcode?
- 23. Impossibile modificare il codice C# in Views durante il debug con Visual Studio 2015
- 24. Come visualizzare un DataTable durante il debug
- 25. Come visualizzare tutta QString durante il debug
- 26. Cambia NSString in valore int?
- 27. Debug.WriteLine saltato durante il debug
- 28. Come modificare il tipo e rimuovere il valore in postgresql
- 29. Come visualizzare le eccezioni durante il debug?
- 30. IntelliJ IDEA modifica il codice Android durante il debug
nel 1987 potremmo facilmente utilizzare l'equivalente di "Modifica valore ..." di Xcode in tutti i debugger * reali *. Ora siamo relegati alla scrittura del codice debugger ... Ritorno al futuro ... –