Italian Monitorare una variabile in debug.

luciano deri

Active Member
Licensed User
Longtime User
C'è un modo per monitorare una variabile in bebug, nel senso bloccare il programma nel momento in cui la variabile acquisisce un valore diverso? O magari quando la variabile acquisisce un valore ben preciso?
 

AlpVir

Well-Known Member
Licensed User
Longtime User
LucaMs ha scritto "NomeVariabile =".
E se da qualche parte ci fosse scritto "NomeVariabile=" ?
E qui salta fuori un difetto di B4A che, a differenza del buon vecchio VB6, non riscrive le singole righe rispettando una costante strategia.
In altre parole si può scrivere P=3.14 oppure P = 3.14 e la ricerca di dove viene valorizzato P si fà più complicata.
 

Star-Dust

Expert
Licensed User
Longtime User
Creiamo una libreria che monitora le variabili punto punto punto non si può fare?
 

LucaMs

Expert
Licensed User
Longtime User
Penso proprio di no.

Inoltre, penso di aver capito perché tanti wish rimangano solo tali: perché parte dell'IDE non è stato sviluppato da Erel ma da terze parti (e magari non ne ha né il codice né i diritti per modificarlo).
 

luciano deri

Active Member
Licensed User
Longtime User
Ma la finestrella "Controlla" con tanto di pulsante calcolatrice che fa? come si usa?
upload_2017-10-19_17-50-6.png
 

Star-Dust

Expert
Licensed User
Longtime User
A saperlo...mai usato
 

LucaMs

Expert
Licensed User
Longtime User
https://www.b4x.com/android/forum/threads/how-does-watch-work-in-the-ide.83383/

I want to watch a variable so I can see where its value changes
Such a feature is currently not available.

Quel currently è aggiornato al 31 agosto 2017


The watch expression field allows you to evaluate expressions. Put a breakpoint and when the debugger pauses you can add expressions.

Add expressions? Forse calcolare espressioni? Proverocci.
 
Last edited:

luciano deri

Active Member
Licensed User
Longtime User
A me interesserebbe edittext1.text da solo, senza calcoli. Cosa ci devo scrivere nel Watch in modo che lo riporti come prima riga nell'albero sottostante senza andare ad esplodere il nodo della edittext1?
 

LucaMs

Expert
Licensed User
Longtime User
L'unico modo è mettere un breackpoint ovunque il contenuto di EditText1 cambi (quindi cercando "EditText.Text =" otterrai tutte le righe che contengono questo testo, in alto a destra, clickerai su ogni riga ed andrai a metterci un breakpoin).
Durante l'esecuzione in debug, il flusso si fermerà in quei punti; premi F8 verrà eseguita l'assegnazione del testo alla EditText, metti il cursore su ".Text" di EditText1.Text = e vedrai il contenuto.

Cmq, trattandosi di EditText (il discorso di poter vedere ogni cambiamento del contenuto di una variabile, usando il Watching non ancora disponibile in b4x varrebbe appunto anche per le variabili), puoi usare l'evento EditText1_TextChanged e fare il log del parametro New.

Sub EditText1_TextChanged (Old As String, New As String)
log(New)
 

luciano deri

Active Member
Licensed User
Longtime User
Ok, trucchi ce ne sono tanti, speravo che il watch facesse qualcosa di più o ci fosse un altro metodo diretto. Grazie comunque.
 
Top