Instant Developer

Tips&Tricks Instant Developer Foundation: come fare il debug di applicazioni grandi

| 21 Gennaio 2015 | Giuseppe Lanzi
grafico Instant Developer

Come molti di voi sanno già Instant Developer è equipaggiato con due diversi moduli di debug: il debug step by step, come quello degli ambienti tradizionali, e il debug a run-time, che permette di ripercorrere e analizzare tutta la storia della sessione applicativa.

Il tipo di debug predefinito è quello a run-time e viene abilitato automaticamente alla prima compilazione del progetto. Riconosce e blocca sia i cycle loop che gli stack loop, tiene traccia dei vari stati delle variabili e del risultato delle funzioni, fornisce informazioni sul numero di chiamate e su dove viene utilizzato il tempo. È uno strumento molto potente, insomma, ma che alle volte può richiedere una piccola configurazione.

Per tenere traccia di tutte queste informazioni, infatti, l’applicazione non può far altro che tenerle in memoria. Più diventa complessa l’applicazione e più voluminosa è la quantità di memoria occupata dal modulo, così come l’apertura del debug stesso. In casi particolari si arriva ad avere procedure che sono molto difficilmente debuggabili a causa della loro ricorsività o della quantità di altre procedure che vengono chiamate. Alle volte la quantità di memoria necessaria è semplicemente troppo grande o gli oggetti da mostrare nella finestra di debug sono troppi per il browser, che impiega minuti a mostrare il risultato.

È proprio per questo che oggi voglio parlare di quei due bottoni che si trovano a sinistra del nome di ogni procedura coinvolta nella richiesta aperta nel debug. Quelli che si vedono nell’immagine sopra.

Il bottone a sinistra serve a disabilitare/abilitare il debug della procedura relativa, evitando di usare la memoria di sistema per tutti quei metodi il cui funzionamento è già sicuro.

Il bottone di destra serve a nascondere/mostrare la procedura relativa nella finestra di debug, permettendo di vedere solo quei metodi che devono essere investigati e di nascondere gli altri.

La scelta effettuata dall’utente è memorizzata nella cartella di output dell’applicazione, all’interno del file dtt.ini che contiene l’elenco dei GUID delle procedure e la relativa configurazione. Ad ogni successiva ricompilazione la configurazione viene mantenuta e riusata dall’applicazione a run-time.

Potete fare una prova scaricando questo progetto di esempio. Provate a cliccare sul comando Procedure 1 e ad aprire il debug, non troverete le chiamate a Procedure 2. Accade perché nello zip del progetto ho incluso anche la cartella di output da me configurata. Ora provate a riabilitare entrambe le funzionalità per la seconda procedura e a ripetere il tutto, vedrete che sia i tempi di apertura del debug sia la sua dimensione sono notevolmente diversi.

Maggiori informazioni sul modulo di debug sono reperibili nel capitolo 12 della guida all’uso.

Buona analisi 🙂

Giuseppe Lanzi
Technical Support Manager
Mi occupo di assistenza e consulenza tecnica, dei corsi di formazione e dei sistemi rivolti ai clienti. Amo la tecnologia e ogni tipo di nuovo gadget, mi interesso di fotografia e prendo al volo ogni occasione di scoprire un nuovo gioco.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato.


Potrebbe Interessarti

Instant Developer Foundation 22.5 e Fluid: il futuro comincia da qui

La versione 22.5 di Instant Developer Foundation rappresenta un passo tangibile verso il futuro di Instant Developer. Il nuovo motore grafico Fluid è infatti il...

Leggi Tutto

Webinar: Le novità di Instant Developer Cloud 22.5

Nel webinar sulle novità della release 22.5 di Instant Developer Cloud , Giuseppe Lanzi, responsabile dei reparti Customer Care e Systems e Paolo Giannelli, responsabile...

Leggi Tutto

Instant Developer Cloud 22.5: esperienze migliori per te e il tuo software

Instant Developer Cloud 22.5 è una versione progettata per una migliore esperienza di utilizzo da parte degli sviluppatori e di fruizione delle applicazioni per gli...

Leggi Tutto

Rimani Aggiornato

Iscriviti alla nostra newsletter per ricevere aggiornamenti su novità, eventi, release, webinar e tante altre notizie sui prodotti Instant Developer.