Manuale per i programmi di utilità e per i Tool del Tivoli Service Desk 6.0 Developer's Toolkit
Il programma di debug Developer's Toolkit viene utilizzato per effettuare il debug dei programmi Developer's Toolkit. L'utilizzo del programma di debug Developer's Toolkit consente di revisionare l'esecuzione, passo dopo passo, del codice del tempo di esecuzione.
Nelle sezioni seguenti vengono descritte le tecniche di base per la gestione del programma di debug del Developer's Toolkit. Ulteriori informazioni sull'utilizzo dei diversi programmi di visualizzazione sono contenute nelle sezioni successive.
Esistono due procedure per avviare programma di debug del Developer's Toolkit. Il programma di debug del Developer's Toolkit viene avviato con una sola operazione; ovvero, viene interrotta l'esecuzione del codice. E' possibile, quindi, utilizzare le funzioni step in, step over o step out per eseguire il debug del codice. Per ulteriori informazioni, consultare la sezione Come tracciare i percorsi di esecuzione nel codice.
KML -t <nome file .kbc>
Nota: E' necessario che <nome file .kbc> si trovi in un formato compilato o analizzato, per essere eseguito.
Se si sceglie di aprire il programma di debug Developer's Toolkit, viene selezionata la riga in esecuzione nel momento in cui si è verificato l'errore. Se debug510.dll non è presente, qualsiasi messaggio di errore ricevuto non contiene l'opzione per avviare il programma di debug Developer's Toolkit.
Nota:
Il menu Esegui contiene due comandi che possono essere utilizzati per uscire dal programma di debug Developer's Toolkit: Chiudi e Interrompi.
Il programma di debug del Developer's Toolkit abilita l'utente a effettuare il debug senza avere presente l'attuale codice origine. (Quello che si vede nel programma di debug Developer's Toolkit non è la copia esatta del codice origine). Il processo di riorganizzazione del codice origine porta le seguenti modifiche:
Source | Programma di debug del Developer's Toolkit |
x :=3*(5+4); | x := 27; |
Source | Programma di debug del Developer's Toolkit |
x :=c *(a+b); | x :=c*a+b; |
Source | Programma di debug del Developer's Toolkit |
3 Giugno 1997 | 6, 3, 1997 |
Il programma di debug del Developer's Toolkit ha un programma di visualizzazione del codice che visualizza tutti i moduli in un file .kb. Questi includono:
Il separatore Lessicale, ubicato a destra del programma di visualizzazione del codice, fornisce una vista di livello superiore di una struttura dell'applicazione. Contiene un albero dei moduli nel programma così come le funzioni corrispondenti in ogni modulo.
Per selezionare una funzione da visualizzare:
Nota: Il programma di debug Developer's Toolkit visualizza automaticamente le funzioni quando incontra un breakpoint. Per ulteriori informazioni riguardanti i breakpoint, consultare la sezione BreakPoint in questo capitolo.
I programmi di visualizzazione delle variabili vengono utilizzati per consultare i dati di memorizzazione e accedere ai percorsi per le variabili locali e globali.
E' possibile visualizzare una variabile nei seguenti modi:
Un programma di visualizzazione delle variabili visualizza le informazioni per tutti i campi in un record. Se qualsiasi campo modifica il suo valore, l'intero programma di visualizzazione variabile si aggiorna.
Nota: Se il programma di visualizzazione della variabile accede a un record di grande dimensione, esso impiega qualche minuto per aggiornarsi.
Per impostare una variabile per un aggiornamento automatico:
Nota: E' possibile lasciare aperto un programma di visualizzazione delle variabili nel programma di debug del Developer's Toolkit mentre si gestisce un'applicazione.
La finestra variabile può essere chiusa solo manualmente, tramite la selezione del menu sistema o selezionando Chiudi nella casella di dialogo Programma di visualizzazione variabile.
Lo stack si trova al i sotto del programma di visualizzazione del codice. Facendo clic su una funzione stack, questa appare nel programma di visualizzazione del codice, con la riga corrente evidenziata.
Nota: Le funzioni Developer's Toolkit sono ricorsive, questo significa che è possibile entrare in una funzione più volte nella stessa sessione del programma di debug del Developer's Toolkit. Il nome della funzione appare nel programma di visualizzazione dello stack per ogni ricorsività.
Quando si esce da una funzione, il suo nome scompare dallo stack.
L'utilizzo del programma di debug Developer's Toolkit, consente di tracciare il percorso di esecuzione di un'applicazione. Per effettuare ciò, il programma di debug Developer's Toolkit fornisce tre opzioni:
Step in esegue la riga successiva di un codice e se una chiamata funzione esiste, entra nella funzione. Step over esegue la riga successiva di un codice senza entrare nelle chiamate della funzione. Step out esegue il codice fino al termine della funzione corrente.
E' possibile eseguire lo step in, lo step out o lo step over di un codice, selezionando i comandi dal menu Esegui o facendo clic sui pulsanti corrispondenti nella barra strumenti del programma di debug del Developer's Toolkit. Inoltre, vengono fornite le scelte rapide della tastiera:
Quando si utilizza il programma di debug Developer's Toolkit, l'utente lavora attraverso vari livelli di chiamate delle funzioni. Ogni funzione può avere chiamate della funzione incorporate.
Il programma di debug del Developer's Toolkit abilita l'utente a eseguire lo step in delle funzioni del codice e a visualizzare le operazioni definite nella funzione. Quando si effettua lo step in di un codice, prendere in considerazione questi punti:
E' possibile effettuare una delle seguenti operazioni per lo step in di un codice:
E' possibile eseguire lo step in di una funzione per procedere con l'operazione successiva definita nella funzione. E' possibile che si arrivi a un'istruzione END. A questo punto, premendo nuovamente CTRL+I si ritorna, nella funzione chiamata, al punto di entrata al codice.
Quando si esce da una funzione, la funzione, la procedura o l'handler degli eventi corrente viene eseguita senza tracciamento; non si vede l'esecuzione riga dopo riga del codice. Il tracciamento risulta nella prima istruzione dopo la chiamata.
Nota: Se si esce da un handler degli eventi, il tracciamento riprende dall'istruzione che ha generato l'evento. Se è stato generato più di un evento, il tracciamento riprende all'inizio dell'evento successivo.
E' possibile eseguire lo step out del codice ogni volta che l'esecuzione viene arrestato all'interno di una funzione o di un handler degli eventi. E' possibile inoltre eseguire lo step out di un codice se l'esecuzione viene arrestata al breakpoint.
E' possibile effettuare una delle seguenti operazioni per lo step out di un codice:
In aggiunta allo step in e allo step out di un codice, è possibile eseguire lo step over di un codice. La funzione step over del codice traccia il percorso di esecuzione al livello dell'istruzione. L'esecuzione continua fino a che non si raggiunge l'istruzione successiva.
Nota: L'esecuzione si arresta se esistono errori o breakpoint nella funzione per cui è stato effettuato lo step over.
E' possibile effettuare una delle seguenti operazioni per lo step over di un codice:
I breakpoint sono un metodo per arrestare l'esecuzione del codice al tempo di esecuzione con lo scopo di controllare lo stato corrente dell'esecuzione. Quando durante l'esecuzione si incontra un breakpoint, il programma di debug del Developer's Toolkit visualizza la funzione con la riga contenente il breakpoint selezionato.
Nota: Non impostare i breakpoint in un handler degli eventi quando è in esecuzione $MsgDDEInitiate. $MsgDDEInitiate invia un messaggio alle applicazioni e blocca la coda messaggi fino a quando non viene restituita una risposta. Eseguendo un trigger di un breakpoint viene avviato un handler degli eventi che attende una risposta dalla coda messaggi (bloccata). Ciò provoca uno stallo, che blocca effettivamente l'interfaccia utente.
I breakpoint temporanei esistono solo quando un programma Developer's Toolkit è in esecuzione. I breakpoint temporanei si eliminano automaticamente quando si esce dalla sessione del programma di debug del Developer's Toolkit. Impostare questi breakpoint quando si interagisce con i programmi di visualizzazione della funzione.
Per impostare un breakpoint temporaneo:
Nota: E' necessario impostare i breakpoint temporanei nelle istruzioni che possono essere eseguite. Non è possibile impostare i breakpoint nelle righe che iniziano con istruzioni ELSE e ELSEWHEN.
E' possibile posizionare i breakpoint nel codice di origine del programma Developer's Toolkit utilizzando l'istruzione BreakPoint. E' possibile aggiungere un'istruzione BreakPoint ovunque ci sia un "punto di interesse", ad esempio l'avvio di una chiamata o di un evento funzione. Ciò abilita l'utente a fermare l'applicazione a un punto di arresto logico e a rivisualizzare lo stato corrente dell'applicazione. L'unico modo per rimuovere un'istruzione Breakpoint è di cancellarla dal codice origine e analizzare nuovamente l'applicazione.
E' possibile creare un comando menu da associare all'istruzione BreakPoint. Ciò abilita l'utente ad avviare il programma di debug del Developer's Toolkit dall'applicazione.
Il programma di debug Developer's Toolkit non viene eseguito se il debug510.dll non è presente.
E' possibile effettuare il debug delle caselle di dialogo e delle finestre impostando un breakpoint su WinCreate o su DlgCreate. Queste istruzioni identificano gli handler degli eventi che elaborano gli eventi finestra.
Per tracciare l'esecuzione di WinCreate, entrare in WinCreate e uscire da ogni messaggio creato.
Nota:Non utilizzare il programma di debug del Developer's Toolkit per tracciare, attivare o per l'elaborazione del mouse.
Manuale per i programmi di utilità e per i Tool del Tivoli Service Desk 6.0 Developer's Toolkit
-->