Personalizzazione dell'ambiente di debug dbx
È possibile personalizzare l'ambiente di debug creando degli alias di comando e specificando le opzioni nel file .dbxinit . È possibile leggere i sottocomandi dbx da un file utilizzando la bandiera -c .
Le seguenti sezioni contengono maggiori informazioni sulle opzioni di personalizzazione:
Definire un nuovo prompt dbx
Il prompt dbx è normalmente il nome utilizzato per avviare il programma dbx . Se hai specificato/usr/ucb/dbx a.outsulla riga di comando, poi il prompt è/usr/ucb/dbx.
È possibile modificare il prompt con il comando prompt oppure specificando un prompt diverso nella riga prompt del file .dbxinit . La modifica del prompt nel file .dbxinit provoca l'utilizzo del tuo prompt invece del default ogni volta che si inizializza il programma dbx .
Ad esempio, per inizializzare il programma dbx con il prompt di debugdebug—>, inserire la seguente riga nel file .dbxinit :
prompt "debug-->"Creazione degli alias del comando dbx
È possibile costruire i propri comandi dal sottocomando primitivo dbx . I seguenti comandi consentono di costruire un alias utente dagli argomenti specificati. Tutti i comandi nella stringa di sostituzione per l'alias devono essere dei sottocomandi primitivi dbx . È quindi possibile utilizzare i propri alias al posto dei primitivi dbx .
Il sottocomando alias senza argomenti visualizza gli alias correnti in vigore; con un argomento il comando visualizza la stringa di sostituzione associata a tale alias.
alias[AliasName[ CommandName] ]
alias AliasName "CommandString"
alias AliasName (Parameter1, Parameter2, . . . ) "CommandString"
Le prime due forme del sottocomando alias vengono utilizzate per sostituire la stringa di sostituzione per l' alias ogni volta che viene utilizzato. La terza forma di aliasing è una struttura macro limitata. Ogni parametro specificato nel sottocomando alias viene sostituito nella stringa di sostituzione.
I seguenti alias e i nomi dei sottocomandi associati sono predefiniti:
- attr
- attributo
- bfth
- stop (in data thread a funzione specificata)
- blando
- stop (in data thread alla riga di origine specificata)
- c
- cont
- cv
- condizione
- d
- elimina
- e
- modifica
- h
- guida
- j
- stato
- l
- elenco
- m
- map
- mu
- mutex
- n
- avanti
- p
- stampare
- q
- uscita
- r
- eseguire
- s
- scatto
- st
- arresta
- t
- Dove
- °
- thread
- x
- Registri
È possibile rimuovere un alias con il comando unalias .
Utilizzo del file .dbxinit
Ogni volta che si inizia una sessione di debug, il programma dbx ricerca file di inizializzazione speciali denominati .dbxinit, che contengono elenchi di sottocomandi dbx da eseguire. Questi sottocomandi vengono eseguiti prima che il programma dbx inizi a leggere i sottocomandi dall'input standard. Quando il comando dbx viene avviato, verifica un file .dbxinit nella directory corrente dell'utente e nella directory $HOME dell'utente. Se esiste un file .dbxinit , i suoi sottocomandi vengono eseguiti all'inizio della sessione di debug. Se un file .dbxinit esiste in entrambe le directory home e correnti, allora entrambi vengono letti in quell' ordine. Poiché la directory corrente .dbxinit viene letta per ultimo, i suoi sottocomandi possono sovrapporre quelli presenti nella directory home.
Normalmente, il file .dbxinit contiene i sottocomandi alias , ma può contenere eventuali sottocomandi dbx validi. Ad esempio:
$ cat .dbxinit
alias si "stop in"
prompt "dbg-->"
$ dbx a.out
dbx version 3.1
Type 'help' for help.
reading symbolic information . . .
dbg--> alias
si stop in
t where . . .
dbg-->lettura dei sottocomandi dbx da un file
L'opzione di richiamo -c e il file .dbxinit forniscono meccanismi per l'esecuzione dei sottocomandi dbx prima della lettura dall'input standard. Quando viene specificata l'opzione -c , il programma dbx non ricerca un file .dbxinit . Utilizzare il comando secondario source per leggere i sottocomandi dbx da un file una volta iniziata la sessione di debug.
Dopo aver eseguito l'elenco dei comandi nel file cmdfile , il programma dbx visualizza un prompt e attende l'input.
È inoltre possibile utilizzare l'opzione -c per specificare un elenco di sottocomandi da eseguire quando si avvia inizialmente il programma dbx .
Spinelli di debug
È possibile utilizzare il programma dbx per eseguire il debug degli spinlock. Per farlo, impostare la variabile di ambiente AIXTHREAD_SPINLOCKS su ON.