Che cosa è il programma di messa a punto di GNU

Dutch French Spanish Portuguese Italian German Japanese Chinese Korean Russian Arabic Bookmark and Share this Article Original English article
  

Gdb è il programma di messa a punto del fondamento libero del software. È una buona ordine-linea programma di messa a punto, su cui parecchi attrezzi sono stati costruiti, compreso il modo del gdb del Emacs, il programma di messa a punto grafico dell'esposizione di dati (DDD)e programmi di messa a punto incorporati in parecchi IDEs grafico. Riguardiamo soltanto il gdb in questo articolo.

Inizi il gdb facendo funzionare il progname del gdb. Gdb non cercherà il PERCORSO che cerca la lima eseguibile. Gdb caricherà i simboli eseguibili ed allora li richiamerà affinchè che cosa faccia dopo.

Ci sono tre sensi controllare un processo con gdb:

  • Usi l'ordine di funzionamento iniziare normalmente il programma.

  • Usi l'ordine dell'attaccatura iniziare a controllare un processo difunzionamento. Quando fissate ad un processo, il processo sarà interrotto.

  • Controlli una lima di nucleo attuale per determinare il dichiarare del processo quando è stato ucciso. Per controllare una lima di nucleo, inizi il gdb con il progname del gdb di ordine corefile.

Prima che facciate funzionare un programma o un'attaccatura ad un programma difunzionamento, potete regolare gli scaglioni di fatturazione, codice sorgente della lista e fate niente altro che necessariamente non coinvolga un processo corrente.

Gdb non richiede che scrivete gli interi nomi a macchina di ordine; la r basta per funzionare, n per dopo, s per il punto. Ancora, ripetere l'ordine più recente, semplicemente ritorno di colpo. Ciò rende singolo-fare un passo facile.

Una selezione corta degli ordini utili del gdb è inclusa qui; il gdb include un manuale in linea completo nella disposizione di GNU Info (gdb di funzionamento Info) che spiega dettagliatamente tutte le opzioni dei gdb in una disposizione d'istruzione. Programmandosi con il software di GNU contiene una buona lezione privata dettagliata sul usando gdb. Gdb inoltre include il vasto aiuto in linea disponibile da parte di gdb; accedile con l'ordine di aiuto. L'aiuto specifico su ogni ordine è disponibile con il commandname di aiuto o il soggetto di aiuto.

Giusto come le coperture comanda, ordini del gdb può prendere le discussioni. Usiamo "l'aiuto di chiamata con una discussione dell'ordine" significare lo stesso "del tipo ordine di aiuto".

Alcuni ordini del gdb inoltre prendono i contrassegni di disposizione per identificare come stampare i valori. I contrassegni di disposizione immediatamente seguono il nome di ordine e sono separati dal nome di ordine da un taglio. Una volta che avete scelto una disposizione, non dovete usarli ogni volta ripetete l'ordine; il gdb si ricorderà della disposizione che avete scelto come il difetto.

I contrassegni di disposizione sono separati dagli ordini dalla a/carattere e si compongono di tre elementi: un conteggio, una lettera di disposizione e una lettera di formato. Le lettere di formato e di conteggio sono facoltative; il conteggio stabilizza a 1 ed il formato ha difetti ragionevoli basati sulla lettera di disposizione.

Le lettere di disposizione sono o per ottale, x per l'esadecimale, d per il decimale, u per il decimale unsigned, t per binario, f per di virgola mobile, a per l'indirizzo, i per istruzione, c per il carattere e s per stringa.

Le lettere di formato sono b per il byte, h per la parola mezza (2 byte), W per la parola (4 byte) e g per il gigante (8 byte).

attaccatura, a Attaccatura ad un processo difunzionamento. L'unica discussione è il pid del processo a cui fissare. Ciò arresta i processi a cui voi attaccatura, interrompendo qualsiasi sonno o l'altra chiamata interruptible del sistema in progresso. Veda per staccare.
backtrace, bt, dove, W Stampi una traccia di pila.
rompasi, b Regoli uno scaglione di fatturazione. Potete specificare un nome di funzione, una linea numero della lima corrente (la lima che contiene il codice attualmente di esecuzione), un nome di schedario: accoppiamento del linenumber, o persino un indirizzo arbitrario con * l'indirizzo. Gdb assegna e vi dice un numero unico per ogni scaglione di fatturazione. Veda la circostanza, la radura e la cancellazione.
elimini Elimini uno scaglione di fatturazione. Prende le stesse discussioni della rottura. Veda la cancellazione.
circostanza Cambia uno scaglione di fatturazione specificato dal numero (veda la rottura) per rompersi soltanto se una circostanza è allineare. La circostanza è espressa come espressione arbitraria.
 
(gdb) scaglione di fatturazione 3 di b 664 a 0x804a5c0: 
archivi ladsh4.c, allinei 664. il == 0 di condizione di stato 3 
(del gdb)  

cancellazione Elimini uno scaglione di fatturazione dal numero.
stacchi Stacchi dal processo attualmente fissato.
esposizione Visualizzi il valore di un'espressione ogni volta che l'esecuzione si arresta. Prende le stesse discussioni (modificatori compresi di disposizione) come stampa. Stampa un numero dell'esposizione che può essere usato più successivamente per annullare l'esposizione. Veda undisplay.
aiuto Ottenga l'aiuto. Denominato senza la discussione, fornisce un sommario dell'aiuto disponibile. Denominato con un altro ordine come discussione, fornisce l'aiuto su quell'ordine. Riferito estesamente.
salto Salti ad un indirizzo arbitrario e continui l'esecuzione là. L'indirizzo è l'unica discussione e può essere specificato poichè una linea numero o poichè un indirizzo ha specificato come * indirizzo.
lista, l Senza la discussione, la lista prima elenca le 10 linee che circondano l'indirizzo corrente. Le chiamate successive alla lista elencano lle sezioni successive di 10 linee. Con una discussione di -, liste le 10 linee precedenti.
  Con una linea numero, liste le 10 linee che circondano quella linea. Con un nome di schedario: accoppiamento del linenumber, liste le 10 linee che circondano quella linea. Con un nome di funzione, liste le 10 linee che circondano l'inizio della funzione. Con un indirizzo specificato come * l'indirizzo, specifica le 10 linee che circondano il codice trovato a quell'indirizzo.
  Con due la linea specifiche ha separato dalle virgole, elenca tutte le linee fra le due linee specificate.
dopo, n Faccia un passo alla linea seguente del codice sorgente nella funzione corrente; faccia le chiamate di funzione senza fare un passo. Veda il punto.
nexti Punto all'istruzione seguente di linguaggio macchina; faccia le chiamate di funzione senza fare un passo. Veda lo stepi.
stampi, p Stampi il valore di un'espressione in una rappresentazione comprensibile. Se avete un *c del carbone, la stampa c di ordine stamperà l'indirizzo della stringa ed il *c della stampa stamperà la stringa in se. La stampa delle strutture espanderà le strutture. Potete includere i getti nelle vostre espressioni ed il gdb honor loro. Se il codice fosse compilato con - l'opzione del ggdb, i valori enumerati e le definizioni del preprocessore saranno a disposizione per voi per usare nelle vostre espressioni. Veda l'esposizione.
  Gli introiti di ordine di stampa formattano i contrassegni, anche se con i tipi adeguati e con typecasts, i contrassegni di disposizione sono necessari raramente. Veda la x.
funzioni, r Allontanisi il programma corrente dall'inizio. Le discussioni all'ordine di funzionamento sono le discussioni che sarebbero usate per fare funzionare il programma sulla linea di ordine. Gdb farà lo copertura-stile che globbing con * e [ ] e farà la reinstradazione di copertura-stile con <, > e > >, ma non farà i tubi o qui i documenti.
  Senza le discussioni, il funzionamento usa le discussioni che sono state specificate nell'ordine di funzionamento più recente, o nell'insieme più recente i args comandano. Per funzionare senza le discussioni dopo avere funzionato con le discussioni, usi i args dell'insieme comandano senza le discussioni supplementari.
regolisi Gdb permette che cambiate i valori delle variabili, come questo:
 
(gdb) regolisi a = argv[5 ]  

  Inoltre, ogni volta che stampate un'espressione, il gdb vi dà una variabile di shorthand, come $1, che potete usare per riferirsi più successivamente. Così se precedentemente aveste stampato argv[5 ] ed il gdb li avesse detto a che fosse $6, potreste scrivere l'assegnazione precedente As
 
(gdb) regolisi a = $ 6  

  L'ordine stabilito inoltre ha molti subcommands, lontano troppo numerosi da elencare qui. Usi l'aiuto regolato per le più informazioni.
punto, s Fa un passo l'istruzione di programma tramite istruzione fino a che non raggiunga una nuova linea del codice sorgente. Veda dopo.
stepi Esegua esattamente un'istruzione di linguaggio macchina; tracce nelle chiamate di funzione. Veda il nexti.
undisplay Senza qualsiasi discussione, annullamenti tutti esposizioni. Altrimenti, annullamenti le esposizioni di cui i numeri sono dati come discussioni. Veda l'esposizione.
whatis Stampa il tipo di dati di un'espressione data come relativa discussione.
dove, W Veda il backtrace.
x L'ordine di x è come l'ordine di stampa, salvo che è limitato esplicitamente a stampare il contenuto di un indirizzo in una certa disposizione arbitraria. Se non usate un contrassegno di disposizione, il gdb userà il contrassegno il più recentemente specificato di disposizione.
ciò è un articolo aggiunto da Humberto Mitchson


Diniego: Il nostro Web site non è responsabile delle informazioni contenute da questo articolo. Questo articolo in nessun modo riflette le viste, le opinioni, i pensieri o la credenza del personale dell'indice degli articoli.

Avviso di traduzione: L'articolo "che cosa è il programma di messa a punto di GNU" è stato tradotto usando un servizio di traduzione automatizzato. Chiediamo scusa francamente per tutti gli errori di traduzione che hanno accaduto. Grazie per capire.


Online: 1601 users browsing the articles directory