Estensione per GDB

Martin Gergov

T.C. Hollingsworth

Introduzione

L'estensione per GDB di Kate fornisce una semplice interfaccia al popolare debugger del progetto GNU.

Importante

Una precedente esperienza con GDB è caldamente raccomandata; visita il sito Web di GDB per maggiori informazioni sul suo uso.

Puoi abilitare l'estensione per GDB nella sezione delle estensioni della configurazione di Kate.

Affinché l'estensione funzioni correttamente devi avere un file sorgente (di un qualsiasi tipo supportato da GDB), ed un eseguibile.

Suggerimento

Se compili usando gcc o g++, potresti aver bisogno di usare l'argomento da riga di comando -ggdb.

Fatte queste preparazioni apri il file sorgente in Kate, inserisci il percorso all'eseguibile nella scheda Impostazioni della vista dello strumento Vista di debug e seleziona dal menu DebugAvvia il debug per cominciare.

Menu e struttura della barra degli strumenti

Tutte queste opzioni sono disponibili nei menu di Kate, e molte sono disponibili anche nella barra degli strumenti di debug.

VisualizzaViste degli strumentiMostra Vista di debug

Mostra una vista contenente l'output di GDB, la riga di comando di GDB usata, ed altre impostazioni.

VisualizzaViste degli strumentiMostra locali e pila

Mostra un elenco di tutte le variabili attualmente in memoria, i loro valori ed un backtrace di GDB.

DebugObiettivi

Un sotto-menu contenente un elenco di obiettivi (eseguibili).

DebugAvvia il debug

Avvia GDB con un obiettivo.

DebugTermina / interrompi il debug

Interrompe GDB.

DebugRiavvia il debug

Riavvia GDB.

DebugCommuta punto di interruzione / interrompi

Imposta un punto di interruzione alla posizione attuale del cursore.

DebugEntra

Esegui l'istruzione attuale (sarà effettuato il debug della chiamata a funzione).

DebugPassa oltre

Esegui l'istruzione attuale (non sarà effettuato il debug della chiamata a funzione).

DebugEsci

Riprende l'esecuzione fino alla conclusione del programma in esecuzione.

DebugSposta contatore dei programmi

Sposta contatore dei programmi (prossima esecuzione).

DebugEsegui fino al cursore

Esegue il programma fino a raggiungere l'attuale posizione del cursore.

DebugContinua

Ignora qualsiasi punto di interruzione ed esegue il programma fino alla sua conclusione (corretta o meno).

DebugStampa valore

Stampa il valore della variabile attualmente indicata dal cursore.

ImpostazioniBarre mostrateEstensione GDB

Mostra la barra degli strumenti di debug.

Vista di debug

La vista dello strumento Vista di debug è composta da diverse schede:

Uscita di GDB

Contiene l'uscita di GDB ed una riga di comando per GDB.

La scheda Uscita.

La scheda Uscita mostra il risultato generato sulla console da una sessione di debug.

Impostazioni
Eseguibile

Percorso dell'obiettivo (l'eseguibile) su cui eseguire il debug.

Cartella di lavoro

La cartella di lavoro attuale fornita all'obiettivo.

Argomenti

Argomenti passati al programma.

Mantieni attivazione

Mantiene attiva la riga di comando di GDB.

Ridireziona I/O

Apre una nuova scheda I/O nella Vista di debug, dove puoi vedere l'uscita ed inserire gli ingressi al programma in esecuzione.

La finestra delle impostazioni

La finestra Impostazioni, che mostra la configurazione di una sessione di debug.

I/O

Contiene un'area che mostra l'uscita del programma attuale, ed una riga di comando dalla quale puoi passare degli ingressi.

La scheda I/O.

La scheda I/O, che mostra l'uscita di un semplice programma di prova.

Pila di chiamate e Locali

La vista dello strumento Pila delle chiamate contiene un elenco di backtrace formattati restituiti da GDB.

La vista dello strumento Pila delle chiamate.

La vista dello strumento Pila delle chiamate dell'estensione GDB.

La vista dello strumento Locali mostra un elenco di tutte le variabili attualmente in memoria del programma, ed i loro valori corrispondenti.

La vista dello strumento Locali.

La vista dello strumento Locali dell'estensione GDB.

Ringraziamenti e riconoscimenti

Ringraziamenti speciali vanno al partecipante del Google Code-In 2011, Martin Gergov, per aver scritto la maggior parte di questa sezione.