Qtcreator: visualizzare una variabile in esecuzione debug
-
Buongiorno.
Mi potete dire se c'è la possibilità di immettere un'istruzione estemporanea e leggerne il relativo risultato durante l'esecuzione in debug ? Mi spiego meglio. Nella finestra "Locals and Expressions" compaino solo le variabili locali alla routine in cui ho inserito il breakpoint. Dato che utilizzo molti campi di una struttura non dichiarata nella routine e nella finestra detta prima compare la voce "this not accessible", mi farebbe piacere poter immettere un'istruzione estemporanea e vederne subito il risultato, come facevo con Visual Basic di Visual Studio. Lì facevo "? variabile", qui in c++ come potrei fare ? Grazie. -
@bvox123
Buongiorno. No parlo italiano, solamente inglesi, ma capisco un pocco, pocco!! Scusi :)See
- https://forum.qt.io/topic/45733/qt-creator-debugger-locals-and-expressions-values-marked-as-not-accessible
- https://stackoverflow.com/questions/21254074/how-to-solve-qt-creators-variable-not-accessible-behavior
- https://stackoverflow.com/questions/20610186/variables-in-locals-and-expressions-not-accessible-in-qt-creator
for "not accessible"?
Also, http://doc.qt.io/qtcreator/creator-debug-mode.html:
All backends support simple C and C++ expressions. Functions can be called only if they are actually compiled into the debugged executable or a library used by the executable. Most notably, inlined functions such as most operator[] implementations of standard containers are typically not available
Ciao :)
-
Sei stato gentilissimo JNBarchan e ti ringrazio moltissimo per il tuo contributo.
Purtroppo io non parlo inglese ed ho utilizzato il traduttore google per interpretare quanto hanno scritto nei threads allegati. Ho fatto qualache prova, ma non ho ottenuto il risultato sperato. Speravo che ci fosse un modo per inserire un'istruzione al volo, come facevo col debugger di Visual Basic, ma evidentemente Qtcreator non lo prevede. Pazienza, dovrò studiare l'errore che mi si presenta in altro modo. Ancora grazie e un caro saluto dall'Italia. -
Essendo C++ compilato e non interpretato come VB, iniettare codice ad ogni momento e' quasi impossibile per un debugger. quello che puoi fare e' attivare la vinestra watch (Ctrl+Alt+W) e aggiungere li le variabili di cui vuoi tenere sotto controllo il valore