home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
PC World Komputer 1999 March B
/
SCO_CASTOR4RRT.iso
/
frle
/
root.1
/
usr
/
lib
/
locale
/
fr
/
LC_MESSAGES
/
dbg.help.thr
/
dbg.help
Wrap
Text File
|
1998-08-19
|
89KB
|
2,536 lines
# This file contains the help messages used by the Command Line interface.
# Each help message is bracketed by lines starting with ++.
# The debugger does not depend on the size (number of lines) of any message,
# but it does depend on the order of the messages. New messages MUST be
# added to the end of the file.
# This version is for the version of debug that supports threads
++ !
NOM
! - exΘcution d'une commande shell.
RESUME
! cmd_line
!!
DESCRIPTION
ExΘcute une commande shell. Le reste de la ligne est transmis au shell
pour Ωtre interprΘtΘ. En particulier, les donnΘes ne sont PAS redirigΘes
par le dΘbogueur mais par le shell. La variable $SHELL, lorsqu'elle est
dΘfinie, comporte le chemin d'accΦs complet du shell α utiliser. Si
$SHELL n'est pas dΘfinie, c'est /usr/bin/sh qui est employΘ. Le
dΘbogueur attend que la commande s'achΦve, mais ne prend pas le
contr⌠le des processus rΘsultants.
!! indique que la derniΦre commande shell doit Ωtre rΘexΘcutΘe.
VOIR EGALEMENT
create, redirection
++
++ alias
NOM
alias - ajout, recencement ou suppression des alias.
RESUME
jetons des noms d'alias ...
alias [nom]
alias -r nom
DESCRIPTION
La premiΦre forme crΘe un alias "nom" pour les "jetons". Tous les
caractΦres qui se trouvent avant le retour chariot ou le commentaire
seront considΘrΘs comme faisant partie de la dΘfinition. Les alias
existants ou les commandes dΘbogueur peuvent Ωtre redΘfinis sous un nom
d'alias. Une fois que cette dΘfinition est effectuΘe, l'utilisation de
l'alias Θquivaut α taper la sΘquence de symboles qu'il remplace. Les
alias peuvent Ωtre dΘfinis par d'autres alias, mais non de faτon
rΘcursive.
Les dΘfinitions d'alias peuvent contenir les identificateurs spΘciaux
$1, $2,... Chacun de ces identificateurs spΘciaux $n est remplacΘ, dans
une dΘfinition d'alias, par le ΘniΦme argument de l'appel d'alias, les
arguments Θtant classΘs par ordre croissant α partir de 1. Chaque
argument doit Ωtre prΘcΘdΘ par un espace blanc et se terminer par un
espace, un caractΦre d'interligne, le caractΦre de commentaire (#) ou
le dΘbut d'un bloc ({). Les identificateurs spΘciaux $1, $2, ... ne
seront pas remplacΘs α l'intΘrieur d'une chaεne entre guillemets.
Si la dΘfinition d'un alias comporte l'identificateur spΘcial $#, au
cours de l'appel de l'alias, celui-ci sera remplacΘ par le nombre
d'arguments qui interviennent effectivement dans cet appel. Si la
dΘfinition de l'alias comporte l'identificateur spΘcial $*, au cours de
l'appel de l'alias, celui-ci sera remplacΘ par une liste de tous les
arguments transmis au cours de cet appel, chaque argument Θtant sΘparΘ
des autres par un espace.
S'il n'y a pas d'arguments, la commande alias affiche la liste de tous
les alias actuels. S'il y a un seul nom, l'alias correspondant
s'affiche.
L'option -r de la commande alias supprime tous les alias correspondants
au nom indiquΘ.
EXEMPLES
alias
alias i
alias i step -i
alias edit list $1@1
alias print_list while($1) { print *$1; set $1 = $1->next }
alias b if ($# > 0) { stop $* } else { stop %list_file@%list_line }
alias -r i
++
++ stop
NOM
stop - dΘfinition ou affichage des ΘvΘnements stop.
RESUME
stop [-p liste_proc] [[-q] [-c nombre] expr_stop [commande]]
stop [-p liste_proc]
DESCRIPTION
Un ΘvΘnement stop spΘcifie une condition de l'espace adresse d'un
programme qui induit le dΘbogueur α arrΩter l'exΘcution du programme.
"expr_stop" correspond α une ou plusieurs expressions liΘes avec les
opΘrateurs spΘciaux && (et) ou || (ou). Les expressions peuvent
consister en:
1) un emplacement
Un emplacement dans le texte du programme - ceux-ci peuvent se
comparer α la ponctuation classique.
2) (expr)
Une expression dans le langage actuel - ce type
d'expression stop devient vraie en mΩme temps que l'expression
elle-mΩme ;
3) *lvalue
Un emplacement dans les donnΘes du programme pouvant Ωtre
modifiΘ - ce type d'expression se rΘalise lorsque la valeur
change.
Les expressions expr_stop sont ΘvaluΘes en permanence par le dΘbogueur
lorsque le processus sujet ou le chemin d'exΘcution sont exΘcutΘs.
Lorsque l'expression tout entiΦre devient vraie, le dΘbogueur dΘclare
l'occurrence de l'ΘvΘnement et exΘcute la "commande" optionnelle qui y
est associΘe.
Pour plus d'informations, reportez-vous α expr_stop.
L'option -q indique que le dΘbogueur ne dΘclare pas l'ΘvΘnement.
L'option -c indique que l'ΘvΘnement ne se dΘclenche qu'aprΦs un certain
nombre de fois ou l'expression expr_stop devient vraie, nombre indiquΘ par
"nombre". L'ΘvΘnement se dΘclenchera toutes les autres fois ou
l'expression devient vraie.
La deuxiΦme forme de la commande stop affiche tous les ΘvΘnements stop
pour la totalitΘ des processus et des chemins d'exΘcution indiquΘs.
A la diffΘrence de ce qui se produit pour la plupart des commandes, si
l'option -p n'est pas fournie α la commande stop, celle-ci va
s'appliquer α tous les chemins d'exΘcution ou α tous les processus ne
comportant qu'un chemin d'exΘcution dΘrivΘ du programme actuel
(%program).
EXEMPLES
stop myfile.c@230
stop *bar
stop (x == 5)
stop foo && (a > 7)
stop (a == 4) || (b == 7)
VOIR EGALEMENT
%program, %verbose, assoccmd, delete, disable, enable, events,
expr, emplacement, liste_proc, scope, expr_stop
++
++ break
NOM
break - sortie d'une boucle while.
RESUME
break
DESCRIPTION
La commande break force le dΘbogueur α sortir de la boucle while
la plus profonde concernΘe par la commande.
EXEMPLES
while($i < 10) { if (x[$i] == $myvar) break; set $i = $i + 1 }
VOIR EGALEMENT
continue, while
++
++ continue
NOM
continue - continuation de l'exΘcution de la prochaine itΘration de
la boucle while.
RESUME
continue
DESCRIPTION
La commande continue force le dΘbogueur α commencer l'exΘcution
de la prochaine itΘration de la boucle while la plus profonde
concernΘe par la commande. L'exΘcution dΘmarre avec la rΘΘvaluation
de l'expression de la boucle.
EXEMPLES
while (i < 20) { step; if (i % 2) continue; p i, x[i] }
VOIR EGALEMENT
break, while
++
++ cancel
NOM
cancel - annulation des signaux en attente.
RESUME
cancel [-p liste_proc] [signal ...]
DESCRIPTION
La commande cancel supprime une liste de signaux de l'ensemble
des signaux en attente pour les processus et les chemins d'exΘcution
indiquΘs (%thread ou %proc par dΘfaut). Ces signaux ne sont pas reτus par
les processus ou les chemins d'exΘcution indiquΘs lorsque l'exΘcution
reprend. Si aucun signal n'est spΘcifiΘ, tous les signaux en attente
correspondant aux processus ou aux chemins d'exΘcution indiquΘs seront
annulΘs.
EXEMPLES
cancel
cancel segv
cancel -p all sigfpe sigemt
VOIR EGALEMENT
kill, liste_proc, signal, signames
++
++ create
NOM
create - crΘation ou contr⌠le d'un ou plusieurs processus nouveaux.
RESUME
create [-dr] [-f all|none|procs] [-l start_loc] [cmd_line]
DESCRIPTION
La commande create prend une ligne de commande de type shell et crΘe un
ou plusieurs processus. La ligne de commande peut inclure une redirection
d'entrΘe et/ou de sortie, ainsi qu'un canal shell. Tous les processus
rΘsultants s'arrΩtent α l'emplacement spΘcifiΘ par "start_loc".
Si aucun emplacement de dΘmarrage n'est spΘcifiΘ ou que l'emplacement
indiquΘ est introuvable dans l'espace adresse du processus, ce
dernier s'arrΩte α la fonction "main". Si aucune fonction "main" n'existe,
le processus s'arrΩte α l'adresse indiquΘe dans l'en-tΩte du
fichier objet. Pour crΘer et exΘcuter un processus, tapez "create...",
puis "run".
Si aucune "cmd_line" n'est specifiΘe, c'est la "cmd_line" prΘcΘdente
qui est utilisΘe. Tout processus crΘΘ α partir d'invocations existantes
de cette "cmd_line" est dΘtruit.
Chaque processus crΘe un identificateur pour le processus de dΘbogage.
On peut faire rΘfΘrence α un processus par son identificateur ou par son
id systΦme dans les commandes acceptant l'option -p. Le premier
processus crΘΘ dans un pipeline devient le processus actuel (%proc). Si
ce processus fait intervenir des interfaces pour les chemins d'exΘcution,
le chemin d'exΘcution (simple) dans le nouveau processus devient le
chemin d'exΘcution actuel (%thread). On peut faire rΘfΘrence α tous les
processus crΘΘs α partir d'un exΘcutable simple (via fork (2)) par le
nom de cet exΘcutable (nom de programme).
Si l'option -r est spΘcifiΘe, les entrΘes/sorties du processus sont
redirigΘes vers un pseudo-terminal. Toutes les sorties sont prΘcΘdΘes
du nom de ce pseudo-terminal. S'il est nΘcessaire de fournir des entrΘes
α ce processus, la commande "input" doit Ωtre utilisΘe. L'option -d
indique qu'il ne doit pas y avoir de redirection. Si aucune des deux
options n'est spΘcifiΘe, le mode spΘcifiΘ par %redir sera utilisΘ
(par dΘfaut, pas de redirection).
Si -f est employΘe avec un argument "none" (aucune), le dΘbogueur ne suivra
pas les processus enfants d'un processus utilisant la duplication ("fork").
Si l'option -f est employΘe avec, soit la valeur "all" (tous), soit la
valeur "procs" (processus), tous les processus enfant seront contr⌠lΘs
par le dΘbogueur (ces processus pouvant Ωtre libΘrΘs du contr⌠le
du dΘbogueur en utilisant la commande "release"). Si l'option -f n'est
pas spΘcifiΘe, le fonctionnement du dΘbogueur sera contr⌠lΘ par %follow
(le fonctionnement par dΘfaut Θtant de suivre tous les processus
enfant).
Tous les chemins d'exΘcution crΘΘs par un processus sujet seront suivis par
le dΘbogueur (mais peuvent Ωtre libΘrΘs du contr⌠le du dΘbogueur en
utilisant la commande "release"). Voir la description de %thread_change
pour plus d'informations sur la maniΦre de contr⌠ler le comportement
du dΘbogueur en ce qui concerne les nouveaux chemins d'exΘcution.
EXEMPLES
create
create -f none myprog 1 2 3
create myprog 1 2 3 | myfilter1 | myfilter2
VOIR EGALEMENT
!, %follow, %program, %redir, grab, input, liste_proc, processus,
program, rename, release, %thread, %thread_change
++
++ delete
NOM
delete - suppression des ΘvΘnements.
RESUME
delete numΘro d'ΘvΘnement ...
delete -a [-p liste_proc] [type_ΘvΘnement]
DESCRIPTION
La premiΦre syntaxe supprime les ΘvΘnements correspondant
aux numΘros d'ΘvΘnements spΘcifiΘs.
La deuxiΦme syntaxe supprime tous les ΘvΘnements, correspondant α
l' "event_type" spΘcifiΘ (si aucun type n'est spΘcifiΘ, la commande
supprime tous les types d'ΘvΘnements), dans la liste indiquΘe des
chemins d'exΘcution et des processus (ou dans le chemin d'exΘcution ou le
processus actuel, si aucune liste n'est spΘcifiΘe).
Le "type d'ΘvΘnement" peut Ωtre l'un des suivants: "onstop", "signal", "stop" ou
"syscall".
EXEMPLES
delete 1 3 5
delete -a -p p1
delete -a stop
delete -a syscall
VOIR EGALEMENT
change, disable, enable, events, onstop, liste_proc,
signal, stop, syscall
++
++ dis
NOM
dis - dΘsassemblage des instructions machine.
RESUME
dis [-p liste_proc] [-c nombre_instr] [emplacement]
DESCRIPTION
DΘsassemble un nombre d'instructions correspondant α
"instr_count" dans chaque chemin d'exΘcution ou processus spΘcifiΘ (la valeur
par dΘfaut Θtant %thread ou %proc). Si une valeur n'est pas donnΘe
pour "instr_count", la valeur par dΘfaut est Θgale α %num_lines, cette
valeur commenτant α 10 et pouvant Ωtre changΘe.
Si un "emplacement" est donnΘ, le dΘsassemblage commenτe α l'emplacement
spΘcifiΘ par "emplacement" dans chaque chemin d'exΘcution ou processus.
Si aucun emplacement n'est donnΘ, la premiΦre commande "dis" aprΦs le
lancement d'un ΘvΘnement ou aprΦs la remise α zΘro de %frame, commenτera
α %loc. Les commandes "dis" suivantes continueront α partir de
l'adresse se trouvant juste aprΦs la derniΦre instruction affichΘe par
la commande "dis" prΘcΘdente.
EXEMPLES
dis
dis -c 20 main
dis file.c@10
VOIR EGALEMENT
%frame, %loc, %num_lines, dump, emplacement, print, liste_proc
++
++ disable
NOM
disable - dΘsactivation des ΘvΘnements
RESUME
disable event_num ...
disable -a [-p liste_proc] [type_ΘvΘnement]
DESCRIPTION
La premiΦre syntaxe dΘsactive les ΘvΘnements correspondants aux
numΘros spΘcifiΘs.
La deuxiΦme syntaxe dΘsactive tous les ΘvΘnements de l' "event_type"
spΘcifiΘ (ou tous les types d'ΘvΘnements, si un type n'a
pas ΘtΘ spΘcifiΘ) dans la liste des chemins d'exΘcution et des
processus (ou le chemin d'exΘcution/processus actuel, si aucun n'a
ΘtΘ spΘcifiΘ). L' "event_type" peut Ωtre l'un des suivants: "onstop",
"signal", "stop" ou "syscall".
Les ΘvΘnements dΘsactivΘs n'ont aucun effet sur les chemins d'exΘcution
et les processus sur lesquels ils s'appliquent, mais ils ne sont pas
effacΘs. Ils peuvent Ωtre rΘ-installΘs en utilisant la commande "enable".
EXEMPLES
disable 3 5
disable -a -p p1.1,p2.3
disable -a onstop
disable -a signal
VOIR EGALEMENT
change, delete, enable, events, onstop, liste_proc, signal,
stop, syscall
++
++ dump
NOM
dump - affiche le contenu de la mΘmoire
RESUME
dump [-p liste_proc] [-c nombre_octet] emplacement
DESCRIPTION
La commande dump affiche le contenu de la mΘmoire pour chaque chemin
d'exΘcution (ou chaque processus) spΘcifiΘ (la valeur par dΘfaut Θtant
%thread ou %proc). Cette commande affiche "nombre_octet" octets, α raison
de 16 octets par ligne, en hexadΘcimal ou en ASCII, en commenτant α
l'adresse donnΘe par "emplacement".
Si aucun "nombre_octet" n'est spΘcifiΘ, la commande affiche %num_bytes
octets, cette valeur par dΘfaut commenτant α 256 et pouvant Ωtre changΘe.
EXEMPLES
dump -c 16 myptr
dump %esp
dump 0x80001248
VOIR EGALEMENT
%num_bytes, dis, emplacement, print, liste_proc
++
++ enable
NOM
enable - activation des ΘvΘnements
RESUME
enable event_num ...
enable -a [-p liste_proc] [type_ΘvΘnement]
DESCRIPTION
La premiΦre syntaxe active les ΘvΘnements correspondants aux numΘros
d'ΘvΘnements spΘcifiΘs.
La deuxiΦme syntaxe active tous les ΘvΘnements correspondant au type
d'ΘvΘnement spΘcifiΘ (ou tous les types, si un type particulier n'est
pas spΘcifiΘ) dans la liste des chemins d'exΘcution et des
processus (ou le chemin d'exΘcution/le processus actuel, si un chemin
d'exΘcution ou un processus n'est pas spΘcifiΘ). Le "type_ΘvΘnement" peut
Ωtre l'un des suivants: "onstop", "signal", "stop" ou "syscall".
Seuls les ΘvΘnements prΘalablement dΘsactivΘs peuvent Ωtre activΘs. Une
fois activΘ, un ΘvΘnement affectera de nouveau le chemin d'exΘcution ou
le processus dans lequel il est dΘfini.
EXEMPLES
enable 3 5
enable -a -p p1,p2.3
enable -a stop
enable -a signal
VOIR EGALEMENT
change, delete, disable, events, onstop, liste_proc, signal,
stop, syscall
++
++ events
NOM
events - liste des ΘvΘnements
RESUME
events [-p liste_proc] [nombre_ΘvΘnement ...]
DESCRIPTION
Si aucun argument n'est spΘcifiΘ, la commande "events" affiche une
liste de tous les ΘvΘnements stop, de toutes les signaux, de tous les
appels au systΦme et de tous les ΘvΘnements "onstop" pour le chemin
d'exΘcution ou le processus, actuel. Avec l'option -p, cette commande
affiche une liste de tous les ΘvΘnements associΘs aux chemins
d'exΘcution et aux processus spΘcifiΘs.
Si un (ou plusieurs) numΘro d'ΘvΘnement est spΘcifiΘ, la commande
"events" affiche une liste complΦte des ΘvΘnements spΘcifiΘs. Cette
liste complΦte comprend tous les chemins d'exΘcution et tous les
processus pour lesquels un ΘvΘnement est spΘcifiΘ et le bloc de
commande associΘ, le cas ΘchΘant.
EXEMPLES
events
events -p p1,p2.3
events 3
VOIR EGALEMENT
change, delete, disable, enable, onstop, liste_proc, signal,
stop, syscall
++
++ grab
NOM
grab - prend le contr⌠le des processus en cours ou d'une image du noyau.
RESUME
grab [-f all|none|procs] [-l load_file] process_specifier ...
grab -c corefile objectfile
DESCRIPTION
La premiΦre syntaxe accepte un ou plusieurs
"process_specifiers" ; debug essayera alors de prendre le contr⌠le
de chaque processus spΘcifiΘ (le contr⌠le n'Θtant accordΘ que si vous
avez les autorisations nΘcessaires). Chaque processus peut Ωtre spΘcifiΘ
soit comme un chemin d'accΦs /proc, soit comme un id de processus.
L'option -l indique qu'un fichier objet de remplacement α utiliser pour
charger les symboles du processus. Si l'option -l est spΘcifiΘe, vous
ne pouvez indiquer qu'un seul processus.
Si -f est employΘe avec un argument "none" (aucune), le dΘbogueur ne suivra
pas les processus enfants d'un processus utilisant la duplication ("fork").
Si l'option -f est employΘe avec, soit la valeur "all" (tous), soit la
valeur "procs" (processus), tous les processus enfant seront contr⌠lΘs
par le dΘbogueur (ces processus pouvant Ωtre libΘrΘs du contr⌠le
du dΘbogueur en utilisant la commande "release"). Si l'option -f n'est
pas spΘcifiΘe, le fonctionnement du dΘbogueur sera contr⌠lΘ par %follow
(le fonctionnement par dΘfaut Θtant de suivre tous les processus
enfant).
Tous les chemins d'exΘcution crΘΘs par un processus sujet seront suivis par
le dΘbogueur (mais peuvent Ωtre libΘrΘs du contr⌠le du dΘbogueur en
utilisant la commande "release"). Voir la description de %thread_change
pour plus d'informations sur la maniΦre de contr⌠ler le comportement
du dΘbogueur en ce qui concerne les nouveaux chemins d'exΘcution.
La deuxiΦme syntaxe ouvre et examine un fichier source et son fichier
objet correspondant. Les images noyau crΘΘes par grab peuvent Ωtre
examinΘes en utilisant toutes les commandes disponibles pour
l'examen des processus en cours d'exΘcution, mais sans que l'on puisse
les modifier ou les lancer.
Les processus examinΘs avec grab, comme les processus crΘΘs normalement,
reτoivent un identificateur de processus du dΘbogueur et peuvent
Ωtre rΘfΘrencΘs soit avec cet identificateur, soit par l'id de leur
processus systΦme, soit encore par le nom du programme dont ils
proviennent. Le premier processus examinΘ par grab devient le
processus actuel (%proc). Si ce processus utilise l'interface des
chemins d'exΘcution, le dΘbogueur choisit un chemin d'exΘcution de ce
processus qui devient le chemin d'exΘcution actuel (%thread).
EXEMPLES
grab 123
grab -f procs /proc/123 3455
grab -l myobject /proc/3455
grab -c core.save myobject
VOIR EGALEMENT
%follow, %proc, %program, create, liste_proc, processus, release,
rename, %thread, %thread_change
++
++ help
NOM
help - demande de l'aide
RESUME
help [sujet]
DESCRIPTION
Le "sujet" peut Ωtre un alias, un nom de commande ou un sujet
d'aide quelconque. Si aucun sujet n'est spΘcifiΘ, la liste des
commandes disponibles et des sujets s'affiche.
EXEMPLES
help
help stop
help b
help emplacement
++
++ if
NOM
if - branchement conditionnel.
RESUME
if (expr) cmd
if (expr) cmd else cmd
DESCRIPTION
L'expression "expr" est ΘvaluΘe dans le langage courant (%db_lang
ou %lang) dans le contexte du chemin d'exΘcution ou d'un processus
ne comportant qu'un seul chemin d'exΘcution. Si l'expression ΘvaluΘe
est vraie, la partie "then" est exΘcutΘe. Dans le cas contraire,
c'est la partie "else" qui est exΘcutΘe, le cas ΘchΘant ;
"cmd" pouvant Ωtre une simple commande ou un bloc de commande.
EXEMPLES
stop file.c@myfunc { if (x < 10) run; else print x }
VOIR EGALEMENT
%db_lang, %lang, bloc, expr, scope, while
++
++ input
NOM
input - envoi d'une entrΘe α un processus.
RESUME
input [-p nom_proc|-r pseudo-tty] [-n] chaεne
DESCRIPTION
Si un processus a ΘtΘ crΘΘ en utilisant la commande "create -r", ses
entrΘes et ses sorties, ainsi que les entrΘes/sorties des autres
processus dΘrivΘs du mΩme programme, sont redirigΘes vers un
pseudo-terminal. Pour envoyer une entrΘe α un tel processus, la
commande "input" doit Ωtre utilisΘe.
"pseudo-tty" est le nom du pseudo-terminal sur lequel les entrΘes
doivent Ωtre dirigΘes. Le dΘbogueur affiche le nom du
pseudo-terminal α cotΘ des sorties redirigΘes du processus. Il est
Θgalement possible d'afficher le nom du processus ou celui du
programme. Si aucun processus ou nom de pseudo-terminal n'est
spΘcifiΘ, le pseudo-terminal associΘ au programme actuel est celui qui
sera utilisΘ.
L'entrΘe "chaεne" est envoyΘe au pseudo-terminal indiquΘ ou au
pseudo-terminal associΘ au processus (ou au programme) spΘcifiΘ. Une
nouvelle ligne est ajoutΘe α la fin de la chaεne, α moins que
l'option -n ne soit spΘcifiΘe.
EXEMPLES
input -r pts1 "voici une chaεne de caractΦres"
input -p myprog "en voici une autre"
VOIR EGALEMENT
%redir, create
++
++ jump
NOM
jump - change le compteur du chemin d'exΘcution ou du processus.
RESUME
jump [-p liste_proc] emplacement
DESCRIPTION
Un chemin d'exΘcution ou un processus doit Ωtre arrΩtΘ avant que cette
commande ne puisse lui Ωtre appliquΘe avec succΦs. La commande jump
dΘplace le compteur d'une liste de chemin d'exΘcution ou de
processus (%thread ou %proc par dΘfaut) jusqu'α l'adresse indiquΘe par
"emplacement". Lorsque le chemin d'exΘcution ou le
processus reprend son exΘcution, il commenτera α partir de cette
adresse.
L'emplacement peut Ωtre une adresse quelconque dans le
texte du chemin d'exΘcution ou du processus, mais une attention
extrΩme doit Ωtre prise. En effet, la commande jump n'essaye pas
d'ajuster la pile du processus ou du chemin d'exΘcution si l'adresse est
situΘe en-dehors de la fonction actuelle. Des prΘcautions doivent donc
Ωtre prises lorsque l'on effectue des sauts dans un programme
pouvant avoir des effets secondaires importants.
RESUME
jump 10
jump -p p2.1 main+8
VOIR EGALEMENT
emplacement, liste_proc
++
++ kill
NOM
kill - envoi d'un signal vers un chemin d'exΘcution ou un processus.
RESUME
kill [-p liste_proc] [signal]
DESCRIPTION
Le "signal" spΘcifiΘ est envoyΘ vers le chemin d'exΘcution, vers le
processus ne comprenant qu'un seul chemin d'exΘcution, en
direction de la liste des chemins d'exΘcution ou vers les processus qui
ont reτus l'option -p. A la diffΘrence de ce qui se produit avec les autres
commandes du dΘbogueur, si un identificateur de processus est donnΘ
dans "liste_proc", le signal est envoyΘ au processus dans son
ensemble, au lieu d'Ωtre envoyΘ α chaque chemin d'exΘcution α
l'intΘrieur du processus.
Les signaux peuvent Ωtre spΘcifiΘs par leur numΘro ou par leur nom. Un
nom de signal peut Ωtre spΘcifiΘ avec ou sans le prefixe "SIG". Les
majuscules ou les minuscules n'Θtant pas prises en compte. Si un
signal n'est pas spΘcifiΘ, la commande "kill" utilise le signal
"SIGKILL".
EXEMPLES
kill -p p1.2,p2.3
kill sigfpe
kill -p p3 8
VOIR EGALEMENT
cancel, liste_proc, signal, signames
++
++ list
NOM
list - affiche les lignes de code source.
RESUME
list [-p liste_proc] [-c nombre] [thread id@][nom_fichier@]nom_func
list [-p liste_proc] [-c nombre] [thread id@][nom_fichier@]num_ligne
list [-p liste_proc] [-c nombre] /expr_rΘg/
list [-p liste_proc] [-c nombre] ?expr_rΘg?
list [-p liste_proc] [-c nombre]
DESCRIPTION
La commande list affiche les lignes du code source pour les chemins
d'exΘcution et pour les processus spΘcifiΘs ou pour le chemin
d'exΘcution (ou le processus) actuel si une "liste_proc" (liste des
procΘdures) n'a pas ΘtΘ spΘcifiΘe.
Les quatres premiΦres syntaxes indiquent des points de dΘpart
pour l'affichage. Les deux premiΦres permettent d'indiquer un
chemin d'exΘcution ou un processus, un numΘro de fichier, de
fonction ou un numΘro de ligne. Le "thread id" (identificateur de
chemin d'exΘcution) peut faire rΘfΘrence α un chemin d'exΘcution
ou α un processus ne comportant qu'un seul chemin d'exΘcution. Si
un chemin d'exΘcution ou un processus est spΘcifiΘ, il remplace
la liste des processus qui a pu Ωtre donnΘe en utilisant l'option
-p.
La troisiΦme syntaxe trouve la ligne correspondant α l'expression
de recherche de type ed(1). La quatriΦme syntaxe recherche vers
le haut, en partant de la ligne actuelle. La barre oblique de fin
ou le point d'interrogation peut Ωtre omis, α moins qu'une autre
commande ne suive sur la meme ligne. La derniΦre syntaxe continue
l'affichage α partir du fichier et de la ligne ou la commande
list prΘcΘdente s'est arrΩtΘe ou encore α partir de %file@%line
aprΦs le dΘclenchement d'un ΘvΘnement ou d'une remise α zΘro de
%frame.
Si une limite ("nombre") a ΘtΘ spΘcifiΘe, le nombre de lignes
correspondant sera affichΘ, sinon seules %num_lines lignes seront
affichΘes, cette valeur partant de 10 et pouvant Ωtre changΘ.
AprΦs l'affichage d'un bloc de lignes, %list_file devient le nom
du fichier affichΘ et %list_lines le numΘro de la derniΦre ligne
de code source qui a ΘtΘ affichΘe.
EXEMPLES
list -c 20
list myfile@1
list myfunc
list /x/
list ?foobar
list /
VOIR EGALEMENT
%file, %frame, %line, %list_file, %list_line, emplacement,
print, liste_proc, expr_rΘg
++
++ map
NOM
map - affiche l'allocation des adresses virtuelles.
RESUME
map [-p liste_proc]
DESCRIPTION
Affiche l'assignation des adresses virtuelles pour un (ou plusieurs)
chemin d'exΘcution ou processus. Sans argument, cette commande
affiche l'assignation du processus actuel (%proc). Notez que, puisque
tous les chemins d'exΘcution α l'intΘrieur d'un processus partagent
un espace d'adresses commun, l'assignation des adresses virtuelles
sera identique pour tous les chemins d'exΘcution α l'intΘrieur
d'un mΩme processus.
VOIR EGALEMENT
create, grab, liste_proc
++
++ symbols
NOM
symbols - affiche les noms, les valeurs et les types des symboles.
RESUME
symbols [-p liste_proc] [-o objet] [-n nom_fichier] [-dfgltuv] [argument]
DESCRIPTION
Affiche une liste des noms de variables visibles α partir de la trame
actuelle (%frame) dans le chemin d'exΘcution ou dans le processus
spΘcifiΘ (par dΘfaut %thread ou %proc). Sans options, (ou avec l'option
-l), affiche les noms locaux dΘfinis dans la fonction actuelle (%func).
L'option -f n'affiche que les noms des variables qui sont locales
dans le fichier actuel (%file). Si un "nom_fichier" (nom de fichier)
est spΘcifiΘ avec l'option -n, les symboles du fichier sont affichΘs.
Si l'option -g est utilisΘe avec l'option -o, elle affiche les noms
globaux dΘfinis dans l'objet spΘcifiΘ. L'option -d affiche les
variables internes du dΘbogueur. L'option -u affiche les variables
utilisateurs gΘrΘes par le dΘbogueur.
Si un argument de type sh(1) est utilisΘ, celui-ci restreint encore plus
l'affichage pour n'y inclure que les noms de variables
correspondants α l'argument de recherche.
L'option -t affiche les types des symboles en mΩme temps que les noms.
L'option -v affiche la valeur des symboles. Notez que lorsque le langage
actuel est le C++, la commande "symbols -v" n'affiche pas les membres
des classes statiques. Ceux-ci peuvent Ωtre affichΘs en imprimant
le symbole avec la commande "print".
EXEMPLES
symbols -ftv
symbols -g -o libc.so.1 exec*
VOIR EGALEMENT
%file, %frame, %func, modΦle, print, liste_proc
++
++ print
NOM
print - imprime la valeur d'une expression.
RESUME
print [-p liste_proc] [-f format] [-v] expr, ...
DESCRIPTION
Affiche les rΘsultats de l'Θvaluation d'une liste
d'expressions sΘparΘes par des virgules. Les expressions sont ΘvaluΘes
dans le contexte des chemins d'exΘcution et des processus spΘcifiΘs
(par dΘfaut %thread et %proc). L'option -f a besoin d'un format
(which see). Les expressions peuvent contenir des variables de programmes,
des variables internes au dΘbogueur (%line, par exemple) et des
variables dΘfinies par l'utilisateur ($myvar, $HOME). L'Θvaluation d'un
appel de fonction a pour rΘsultat la crΘation, par le dΘbogueur, d'une
trame de pile pour la fonction, ainsi que son exΘcution. Les
ΘvΘnements du dΘbogueur sont interdits pendant l'exΘcution de la
fonction. Les expressions sont ΘvaluΘes dans le langage actuel (%lang
ou %db_lang). Un espace est imprimΘ aprΦs chaque expression et une
nouvelle ligne est ajoutΘe α la fin, α moins qu'un format ne soit spΘcifiΘ.
L'option -v affiche des informations plus dΘtaillΘes. Les informations
supplΘmentaires comprennent des prototypes de fonctions pour toutes
les fonctions, appelΘs par le dΘbogueur lors de l'Θvaluation de l'expression.
Ceci est utile en C++ afin de voir comment les fonctions
surchargΘes sont rΘsolues. L'option -v affichera Θgalement la structure
gΘnΘrΘe par le compilateur et les membres des classes, comme les
pointeurs en direction des tables de fonctions virtuelles.
La commande "set" peut Θgalement Ωtre utilisΘe afin d'Θvaluer des
expressions du langage. Par contre, elle n'imprime pas le rΘsultat d'une
expression. Elle est utilisΘe principalement pour Θvaluer une
expression pouvant avoir des effets secondaires, comme une
assignation.
EXEMPLES
print %line, %file, %func
print "a[i] == ", a[i]
print *ptr->next
print -f "0x%x\n" main
print -v myfunc(1, 2, 3)
VOIR EGALEMENT
%db_lang, %lang, C++, expr, format, liste_proc, scope, set
++
++ ps
NOM
ps - Θtat du processus.
RESUME
ps [-p liste_proc]
DESCRIPTION
Affiche l'Θtat des processus et des chemins d'exΘcution contr⌠lΘs.
Si l'option -p n'est pas spΘcifiΘe, affiche alors l'Θtat de tous les
processus et chemins d'exΘcution contr⌠lΘs. Le chemin d'exΘcution
actuel (%thread), s'il y en a un ou le processus actuel (%proc) est
affichΘ avec un astΘrisque (*).
VOIR EGALEMENT
liste_proc
++
++ pwd
NOM
pwd - affiche le rΘpertoire de travail actuel.
RESUME
pwd
DESCRIPTION
pwd affiche le rΘpertoire de travail actuel du dΘbogueur.
VOIR EGALEMENT
cd
++
++ quit
NOM
quit - sort du dΘbogueur.
RESUME
quit
DESCRIPTION
Sort du dΘbogueur.
Tous les processus contr⌠lΘs seront arrΩtΘs (s'ils ont ΘtΘ crΘΘs) ou
libΘrΘs et lancΘs (s'ils Θtaient contr⌠lΘs par la commande grab).
VOIR EGALEMENT
release
++
++ release
NOM
release - libΦre un ou plusieurs des chemins d'exΘcution ou des
processus contr⌠lΘs.
RESUME
release [-s] [-p liste_proc]
DESCRIPTION
Les chemins d'exΘcution (ou les processus) nommΘs (%thread ou %proc par
dΘfaut) ne sont plus contr⌠lΘs ou vΘrifiΘs par le dΘbogueur.
Par dΘfaut, chaque chemin d'exΘcution (ou chaque processus) est libΘrΘ
et peut poursuivre son exΘcution. Avec l'option -s, chaque processus
est libΘrΘ dans un Θtat d'arrΩt. Cette option est ignorΘe en ce qui
concerne les chemins d'exΘcution. Un chemin d'exΘcution (ou un
processus) peut Ωtre libΘrΘ meme s'il n'a pas fait l'objet d'une
commande "grab" de la part du dΘbogueur, c'est-α-dire que des
processus crΘΘs peuvent Θgalement Ωtre libΘrΘs.
EXEMPLES
release -p p1
release -s
VOIR EGALEMENT
liste_proc, quit
++
++ run
NOM
run - lance l'exΘcution d'un chemin d'exΘcution ou d'un processus.
RESUME
run [-p liste_proc] [-bfr] [-u emplacement]
DESCRIPTION
Lance l'exΘcution d'une liste spΘcifiΘe de chemin d'exΘcution
et de processus (%thread ou %proc par dΘfaut). L'option -f indique que
le dΘbogueur doit lancer cette exΘcution en avant-plan, c'est-α-dire
d'attendre, pour rendre le contr⌠le α l'utilisateur, la fin de
l'exΘcution des processus et des chemins d'exΘcution. L'option -b
indique une exΘcution en arriΦre-plan (sans attente). L'utilisateur peut
alors reprendre le contr⌠le immΘdiatement et le chemin d'exΘcution ou le
processus est lancΘ. Si aucune des deux options ci-dessus n'est
utilisΘe, la valeur par dΘfaut est dΘterminΘe en fonction de la
variable interne %wait du dΘbogueur.
L'option -r entraεne l'exΘcution du processus ou du chemin d'exΘcution
jusqu'au retour α la fonction actuelle. L'option -u indique un
"emplacement" pour le lancement.
Notez que les chemins d'exΘcution qui ne sont pas exΘcutΘs sur un noyau
de taille rΘduite ne peuvent pas Ωtre lancΘs (de tels chemins
d'exΘcution s'affiche avec l'Θtat "Off LWP" lors de la commande "ps").
EXEMPLES
run -p all -b
run -r
run -u 108
VOIR EGALEMENT
%wait, emplacement, liste_proc ps, step, thread
++
++ script
NOM
script - exΘcute une commande script du dΘbogueur.
RESUME
script [-q] fname
DESCRIPTION
Lit et exΘcute des commandes du dΘbogueur α partir d'un fichier.
Les commandes sont affichΘes avant leur exΘcution, α moins que l'option
-q ne soit spΘcifiΘe. Les scripts pouvant Ωtre imbriquΘs.
++
++ set
NOM
set - modifie la valeur d'une variable du dΘbogueur ou d'un programme.
RESUME
set [-p liste_proc] [-v] variable_dΘbog_ou_utilisateur [=] expr [,expr...]
set [-p liste_proc] [-v] expression_langue
DESCRIPTION
La commande "set" possΦde deux syntaxes. La premiΦre est utilisΘe
afin d'allouer une nouvelle valeur α une variable interne du dΘbogueur
ou une variable dΘfinie par l'utilisateur et gΘrΘe par le dΘbogueur
(par exemple, %lang ou $foo). Les valeurs correctes pour
l'expression "expr" dΘpendent de la variable. Certaines variables, comme
%lang, accepte une sΘrie de nom spΘcialement dΘfinis. D'autres
variables peuvent accepter toutes les expressions du dΘbogueur ou d'un
langage qui peuvent Ωtre converties en chaεne de caractΦres. Dans le
cas d'une liste de chaεnes de caractΦres (et de variables
utilisateurs) sΘparΘes par des virgules, les valeurs des chaεnes
de caractΦres de ces expressions sont concatΘnΘes. Voir la commande
"help" de chaque variable du dΘbogueur pour afficher les valeurs
correctes dans chaque cas.
Avec la deuxiΦme syntaxe, la commande "set" peut Ωtre utilisΘe pour
Θvaluer une expression dans un langage quelconque, bien que son
utilisation soit surtout l'Θvaluation d'une allocation. Si plus d'un
processus ou plus d'un chemin d'exΘcution, est spΘcifiΘ, la commande
est ΘvaluΘe dans le contexte de chaque chemin d'exΘcution ou de chaque
processus, dans l'ordre spΘcifiΘ.
L'option -v affiche les prototypes des fonctions, pour toutes les
fonctions appelΘes par le dΘbogueur lors de l'Θvaluation de
l'expression. Ceci est utile en C++ afin de voir comment les fonction
surchargΘes sont rΘsolues.
EXEMPLES
set %global_path = %global_path, ":src/new/mydir"
set -p all %path = "mydir"
set %frame 2
set %eax = 0x3421
set x = 3
set -v myfunc(a, b)
VOIR EGALEMENT
%db_lang, %lang, C++, expr, liste_proc, scope, uservars
++
++ signal
NOM
signal - modifie ou affiche la liste des actions pour un chemin
d'exΘcution ou un processus.
RESUME
signal [-p liste_proc] [-iq] [signal ... [commande]]
DESCRIPTION
Lorsqu'un signal est envoyΘ α un chemin d'exΘcution ou α un processus,
le dΘbogueur, par dΘfaut, intercepte le signal et annonce son arrivΘe.
Le signal peut ensuite Ωtre annulΘ en utilisant la commande "cancel"
ou le processsus peut continuer son exΘcution et reτevoir le signal.
L'option -i, combinΘe α un (ou plusieurs) nom de signal ou numΘro
de signal (voir la commande "kill") indique que le dΘbogueur doit ignorer
ce signal (c'est-α-dire ne pas l'intercepter pour la liste des processus
et des chemins d'exΘcution fournie par liste_proc). Un nom de signal
peut Ωtre donnΘ avec ou sans le prΘfixe "SIG". Les majuscules et les
minuscules n'Θtant pas prise en compte. SpΘcifier de nouveau le signal
avec l'option -i rΘtablit l'action par dΘfaut pour ce signal.
Si une commande est donnΘe avec un groupe de signaux, le dΘbogueur
Θtablit un ΘvΘnement pour ce groupe. L'ΘvΘnement peut Ωtre effacΘ,
dΘsactivΘ ou activΘ, tout comme les ΘvΘnements "stop", "onstop" et
"syscall". Des ΘvΘnements multiples peuvent Ωtre allouΘs au mΩme
signal. Effacer tous lesΘvΘnements pour un signal donnΘ n'enlΦve pas
l'action par dΘfaut du dΘbogueur pour ce signal. L'option -q indique que
le signal ne sera pas annoncΘ.
Sans arguments, cette commande affiche la liste des signaux
correspondant α la liste des processus fournie par liste_proc.
A la diffΘrence de ce qui se passe pour d'autres commandes, si l'option
-p n'est pas spΘcifiΘe lors de la commande "signal", son action s'applique
α tous les chemins d'exΘcutions et α tous les processus dΘrivΘs du
programme actuel (%program).
EXEMPLES
signal -i fpe emt
signal SIGFPE
signal 8 { if (x == 0) cancel 8; run }
VOIR EGALEMENT
assoccmd, cancel, delete, disable, enable, kill, liste_proc, signames
++
++ step
NOM
step - lance un processus pas α pas.
RESUME
step [-p liste_proc] [-ibfoq] [-c nombre]
DESCRIPTION
La liste des chemins d'exΘcution et des processus (par dΘfaut
%thread ou %proc) sera lancΘe pas α pas, α hauteur de la valeur d
l'argument "nombre" (par dΘfaut une fois). Un "nombre" de 0 indique un
lancement rΘpΘtitif, jusqu'α ce qu'il y ait interruption ou arrΩt par un
ΘvΘnement.
Avec l'option -i, les instructions s'exΘcutent pas α pas ; sinon, ce
sont les commentaires qui s'exΘcutent pas α pas. Avec l'option -o, les
routines appelΘes sont traitΘes comme une seule instruction, sinon, les
routines appelΘes sont Θgalement exΘcutΘes pas α pas.
L'option -f indique que le dΘbogueur attendra jusqu'α ce que le chemin
d'exΘcution ou le processus s'arrΩte avant de redonner le contr⌠le
α l'utilisateur ; c'est-α-dire qu'il exΘcutera le chemin
d'exΘcution ou le processus en avant-plan. L'option -b indique une
exΘcution en arriΦre-plan (sans attente). Le chemin d'exΘcution ou le
processus est lancΘ, mais le contr⌠le est redonnΘ immΘdiatement α
l'utilisateur. Si aucune des deux options (-f ou -b) est spΘcifiΘ, la
valeur par dΘfaut est donnΘe en fonction de la valeur de la variable
interne du dΘbogueur %wait.
L'option -q indique que l'exΘcution pas α pas doit Ωtre 'discrΦte' ; le
dΘbogueur n'affiche pas l'id du processus en cours d'exΘcution et
n'imprime pas la ligne du code source qui va Ωtre exΘcutΘ.
Notez que les chemins d'exΘcution qui ne sont pas exΘcutΘs sur un noyau
de taille rΘduite ne peuvent pas Ωtre lancΘs (de tels chemins
d'exΘcution s'affiche avec l'Θtat "Off LWP" lors de la commande "ps").
EXEMPLES
step -io
step -b
step -p all -c 10
VOIR EGALEMENT
%verbose, %wait, processus, liste_proc, ps, run, thread
++
++ halt
NOM
halt - arrΩte le chemin d'exΘcution ou le processus exΘcutΘ en arriΦre-plan.
RESUME
halt [-p liste_proc]
DESCRIPTION
Le dΘbogueur indique α chaque chemin d'exΘcution ou α chaque processus
ne comportant qu'un seul chemin d'exΘcution (%thread ou %proc par dΘfaut),
qu'il doit suspendre son exΘcution immΘdiatement. Cette requΩte
n'est pas exΘcutΘe sur le champ, en raison des temps d'attente du systΦme
ou des variations dans l'exΘcution des taches.
La commande "halt" n'est pas trΦs utile pour les processus ou pour les
chemins d'exΘcution qui s'exΘcutent en avant-plan, puisque le
dΘbogueur ne redonne pas le contr⌠le α l'utilisateur jusqu'α l'arrΩt de
ces chemins d'exΘcution ou de ces processus. Pour arrΩter un chemin
d'exΘcution ou un processus qui s'exΘcute en avant-plan tapez la touche
interruption (gΘnΘralement "Suppr.").
VOIR EGALEMENT
%wait, liste_proc, run, step
++
++ syscall
NOM
syscall - mets en place le suivi des appels systΦmes.
RESUME
syscall [-p liste_proc] [[-eqx] [-c nombre] call ... [commande]]
DESCRIPTION
Indique les actions α prendre lorsqu'un chemin d'exΘcution ou un processus
entre (ou sort) d'un appel systΦme. Sans arguments, cette commande
affiche la liste des appels pour les chemins d'exΘcution ou les
processus nommΘs.
Si plusieurs noms (ou numΘros) d'appel systΦme sont spΘcifiΘs, le
dΘbogueur suspendra le chemin d'exΘcution ou le processus en entrΘe (-e,
par dΘfaut) et/ou en sortie (-x) d'un appel systΦme. L'ΘvΘnement appel
systΦme sera annoncΘ et les "commandes" associΘes seront alors exΘcutΘes.
L'option -q spΘcifie un comportement discret: l'ΘvΘnement ne sera pas
annoncΘ. L'option -c spΘcifie que l'ΘvΘnement pourra se dΘclencher
"nombre" fois avant que le dΘbogueur ne suspende le chemin d'exΘcution
ou le processus. Le chemin d'exΘcution ou le processus sera suspendu α
chaque occurence suivante.
Utilisez "help sysnames" pour obtenir une liste des noms des appels
systΦmes corrects, les majuscules et les minuscules n'Θtant pas prise
en compte.
A la diffΘrence de ce qui se produit pour d'autres commandes, si
l'option -p n'est pas spΘcifiΘe α la commande syscall, ses actions
s'appliquent α tous les chemins d'exΘcutions et α tous les processus
dΘrivΘs du programme actuel (%program).
EXEMPLES
syscall -c 10 write { if (fd == 5) run }
syscall -qx read
VOIR EGALEMENT
%program, assoccmd, delete, disable, enable, events, liste_proc
++
++ regs
NOM
regs - affiche le contenu des registres du processeur.
RESUME
regs [-p liste_proc]
DESCRIPTION
Affiche en hexadΘcimal le contenu des regitres du processeur pour les
chemins d'exΘcution et les processus spΘcifiΘs (par dΘfaut %thread
ou %proc).
VOIR EGALEMENT
dis, dump, liste_proc
++
++ stack
NOM
stack - affiche le retour des appels de fonction.
RESUME
stack [-p liste_proc] [-f trame] [-c nombre] [-a address ] [ -s pile ]
DESCRIPTION
Affiche les fonctions actives pour la liste des chemins
d'exΘcution et des processus (%thread ou %proc par dΘfaut). Les fonctions
sont affichΘes avec leurs noms, les noms des arguments et leurs
valeurs, ainsi que la ligne en cours d'exΘcution ou l'adresse α
l'intΘrieur de la fonction. Les noms des fonctions, les noms des
arguments et le numΘro de ligne ne sont peut Ωtre pas disponibles s'il
n'y a pas d'informations symboliques suffisantes.
"nombre" est le nombre de trames α afficher. Si ce chiffre n'est pas
spΘcifiΘ, la commande affiche la totalitΘ de la pile. L'option -f
indique le numΘro de la trame qui dΘbutera l'affichage. Les trames sont
numΘrotΘes α partir de 0 en partant du bas de la pile
(trame initiale).
Les options -a et -s vous permettent de spΘcifier une adresse de dΘpart
(compteur du programme) et/ou une valeur de dΘpart pour le pointeur
de la pile. Ceci est parfois utile lorsque l'on essaye d'obtenir
un traτage de la pile pour un processus qui a effectuΘ un saut α une
adresse non-admise ou un processus dont le pointeur de pile a ΘtΘ altΘrΘ.
Ces deux options ont besoin d'une adresse en base hexadΘcimale.
EXEMPLES
stack -p p2
stack -f 2 -c 3
stack -a 0x80494958 -s 0xbfff8004
VOIR EGALEMENT
liste_proc
++
++ while
NOM
while - boucle conditionnelle.
RESUME
while (expr) cmd
DESCRIPTION
L'expression ("expr") est ΘvaluΘe dans le langage actuel (%lang ou
%db_lang) dans le contexte du chemin d'exΘcution actuel ou du processus
ne comportant qu'un seul chemin d'exΘcution. Si cette expression
est vraie, la commande ("cmd") est exΘcutΘe. La sΘquence est ensuite
rΘpΘtΘe. La commande ("cmd") peut Ωtre une commande unique ou un bloc.
EXEMPLES
while ($foo < 10) { print $foo, a[$foo]; set $foo = $foo + 1 }
VOIR EGALEMENT
%db_lang, %lang, bloc, break, continue, expr, if, scope
++
++ cd
NOM
cd - change le rΘpertoire de travail actuel.
RESUME
cd [rΘpertoire]
DESCRIPTION
cd change le rΘpertoire de travail actuel du dΘbogueur en celui qui
est spΘcifiΘ par "rΘpertoire". Si aucun rΘpertoire n'est donnΘ, cd utilise
le rΘpertoire spΘcifiΘ par la variable d'environnement HOME.
VOIR EGALEMENT
pwd
++
++ change
NOM
change - modifie un ΘvΘnement existant.
RESUME
change numΘro_ΘvΘnement [-p liste_proc] [-evqx] [-c nombre]
[expr_stop|call...|signal...] [{commandes}]
DESCRIPTION
numΘro_ΘvΘnement est le numΘro d'un ΘvΘnement existant et correct, et il doit
Ωtre placΘ en premier. Les autres options vous permettent de modifier
les diffΘrents attributs d'un ΘvΘnement:
1) la liste des chemins d'exΘcutions et des processus auxquels
s'appliquent l'ΘvΘnement (-p),
2) le niveau de dΘtail des messages donnΘs (-q Θtant un ΘvΘnement
'discret', -v un ΘvΘnement dΘtaillΘ),
3) pour les appels systΦmes, si l'ΘvΘnement se produit en entrΘe, en
sortie ou les deux (-ex),
4) pour les arrΩts et les appels au systΦme, le nombre de fois qu'un
ΘvΘnement se produit avant d'Ωtre annoncΘ (-c),
5) les commandes associΘes (qui doivent Ωtre mises entre
accolades {}),
6) l'expression, la liste des appels systΦmes et la liste des signaux
associΘes α l'ΘvΘnement.
EXEMPLES
change 3 -q
change 5 -p p2 -c 10
change 7 { print "x == ", x }
change 9 -x write
VOIR EGALEMENT
assoccmd, delete, disable, enable, events, onstop,
liste_proc, signal, stop, syscall
++
++ export
NOM
export - ajoute un ensemble nom/valeur α l'environnement.
RESUME
export $username
DESCRIPTION
La commande export exporte une variable dΘfinie par l'utilisateur et
gΘrΘe par le dΘbogueur dans l'environnement. La variable "username" ,
ainsi que sa valeur actuelle, font alors partie de l'environnement qui
est reτu par le processus crΘΘ par le dΘbogueur. Si la valeur de
$username change, elle doit Ωtre exportΘe de nouveau, afin que la
nouvelle valeur fasse partie de l'environnement. Notez que "username"
est exportΘe sans le prΘfixe "$".
VOIR EGALEMENT
uservars
++
++ fc
NOM
fc - recherche, modifie et exΘcute de nouveau des commandes.
RESUME
fc [-e ename] [-nlr] [premiΦre [derniΦre]]
fc -e - [old=new] [commande]
DESCRIPTION
"fc" permet d'utiliser des commandes d'Θdition et de rappel de style
ksh(1). Sous sa premiΦre syntaxe, un groupe de commandes de "premiΦre"
α "derniΦre" sont sΘlectionnΘes α partir des derniΦres commandes
HISTSIZE qui ont ΘtΘ entrΘes. Les arguments "premiΦre" et "derniΦre"
peuvent Ωtre spΘcifiΘs, soit en tant que chaεne de caractΦres, soit en
tant que numΘros. Une chaεne de caractΦres est utilisΘe pour localiser
les commandes les plus rΘcentes en commenτant par la chaεne spΘcifiΘe.
Un chiffre nΘgatif peut Ωtre donnΘ en tant que dΘcalage α partir du
numΘro de la commande actuelle.
Si l'option -l est spΘcifiΘe, les commandes sont affichΘes sur la sortie
standard. Autrement, l'Θditeur "ename" est lancΘ sur un fichier
temporaire contenant les commandes. Si "ename" n'est pas fourni, la valeur
de la variable d'environnement FCEDIT (par dΘfaut: /usr/bin/ed)
est utilisΘe comme Θditeur. Lorsque l'Θdition est terminΘe, les commandes
ΘditΘes sont exΘcutΘes.
Si "premiΦre" n'est pas spΘcifiΘe, la valeur par dΘfaut est la commande
prΘcΘdente pour l'Θdition et -16 pour l'affichage. L'option -r inverse
l'ordre des commandes ; l'option -n supprime le numΘro des commandes
lors de l'affichage.
Dans sa deuxiΦme syntaxe, la "commande" est exΘcutΘe de nouveau
aprΦs que la substitution "old=new" (ancienne=nouvelle) ait eu lieu. Si
la commande n'est pas spΘcifiΘe, la valeur par dΘfaut est la commande
prΘcΘdente.
VOIR EGALEMENT
%mode
++
++ logoff
NOM
logoff - arrΩte la consignation des sessions.
RESUME
logoff
DESCRIPTION
Arrete la consignation des sessions.
VOIR EGALEMENT
logon
++
++ logon
NOM
logon - lance la consignation des sessions.
RESUME
logon [fichier_consignation]
DESCRIPTION
Lance la consignation des sessions. Toutes les sorties du dΘbogueur
sont envoyΘes dans un "fichier de consignation". Chaque
ligne de sortie est prΘcΘdΘe d'un signe "#" (commentaire). Les commandes
du dΘbogueur sont Θgalement envoyΘes dans le fichier de consignation,
mais sans Ωtre prΘcΘdΘes du signe "#". Si le nom d'un fichier de
consignation n'est pas spΘcifiΘ, le dernier fichier de consignation
utilisΘ par la session de dΘbogage actuelle est celui qui sera utilisΘ.
Les nouvelles commandes et les nouvelles sorties sont ajoutΘes α ce
fichier. Les fichiers de consignation peuvent Ωtre utilisΘs comme script
de commande pour le dΘbogueur.
VOIR EGALEMENT
logoff, script
++
++ onstop
NOM
onstop - indique l'action α exΘcuter lors de l'arrΩt d'un chemin
d'exΘcution ou d'un processus.
RESUME
onstop [-p liste_proc] [commande]
DESCRIPTION
Sans argument "commande", affiche la liste des actions "onstop" actuelles,
pour la liste des chemins d'exΘcution ou des processus spΘcifiΘs en
"liste_proc".
"commande" peut Ωtre une seule commande ou un bloc de commande. Si une
commande ou un bloc est indiquΘ, ces commandes sont exΘcutΘes α chaque
arrΩt d'un chemin d'exΘcution ou d'un processus spΘcifiΘ. (dans le contexte
de ce chemin d'exΘcution ou de ce processus). L'arrΩt comprend les
exΘcutions pas α pas et les arrΩts pour un autre ΘvΘnement du
dΘbogueur (signal, syscall, stop).
A la diffΘrence de ce qui se produit pour la plupart des autres
commandes, si l'option -p n'est pasfournie α la commande "onstop" celle-ci
va s'appliquer α tous les chemins d'exΘcution et α tous les processus
dΘrivΘs du programme actuel (%program).
EXEMPLES
onstop -p p2
onstop { print i, x[i] }
VOIR EGALEMENT
%program, delete, disable, enable, events, signal, stop, syscall
++
++ rename
NOM
rename - change le nom sous lequel un programme est connu.
RESUME
rename nom_prog nom
DESCRIPTION
Lorsqu'un processus est crΘΘ ou fait l'objet de la fonction "grab",
le nom de l'exΘcutable dont dΘrive le processus peut Ωtre utilisΘ
pour faire rΘfΘrence α tous les chemins d'exΘcution et α tous les
processus dΘrivant de cet exΘcutable et peut Θgalement Ωtre utilisΘ dans
toutes les liste_proc. "rename" spΘcifie le nouveau nom de ce programme.
VOIR EGALEMENT
create, grab, liste_proc
++
++ %file
NOM
%file - le fichier source actuel.
DESCRIPTION
%file est dΘfinie par le nom du fichier source associΘ α la trame
actuelle (le cas ΘchΘant), α chaque fois qu'un chemin d'exΘcution ou qu'un
processus ne comportant qu'un seul chemin d'exΘcution s'arrΩte ou que
%frame est modifiΘ. Chaque chemin d'exΘcution ou chaque processus ne
comportant qu'un seul chemin d'exΘcution, possΦde son propre %file. La
premiΦre commande "list" aprΦs la dΘfinition de %frame affichera le code
source provenant de %file si aucun nom de fichier n'est spΘcifiΘ. Vous
ne pouvez pas changer %file de faτon explicite.
VOIR EGALEMENT
%frame, %line, %list_file, %list_line, list
++
++ %follow
NOM
%follow - est-ce que le dΘbogueur doit suivre les processus enfants ?
DESCRIPTION
Le dΘbogueur contr⌠le pour l'utilisateur les processus qui ont ΘtΘ
crΘΘs par le dΘbogueur (avec la commande "create"), ou pris en charge
(avec la commande "grab") alors qu'il Θtait dΘja en train de
s'exΘcuter. Si %follow est suivi soit de "all" soit de "procs", le
dΘbogueur prend Θgalement le contr⌠le des processus enfant de tout les
processus sous contr⌠le qui utilisent la duplication ("fork"). Si %follow
est suivi de "none", aucun processus enfant ne sera controlΘ. Le mode
global de contr⌠le mis en place par %follow peut Ωtre remplacΘ par des
commandes "create" ou "grab" individuelles. Tous les processus contr⌠lΘs
peuvent Ωtre libΘrΘs avec la commande "release".
La valeur par dΘfaut de %follow est "all".
Tous les chemins d'exΘcution crΘΘs par un processus sujet seront suivis par
le dΘbogueur (mais peuvent Ωtre libΘrΘs du contr⌠le du dΘbogueur en
utilisant la commande "release"). Voir la description de %thread_change
pour plus d'informations sur la maniΦre de contr⌠ler le comportement
du dΘbogueur en ce qui concerne les nouveaux chemins d'exΘcution.
VOIR EGALEMENT
create, grab, processus, release, set, %thread_change
++
++ %frame
NOM
%frame - le numΘro de la trame actuelle dans la pile d'appel.
RESUME
La portΘe des listings sources, des tables de symboles, du
dΘsassemblage et de l'Θvaluation des expressions. %frame est dΘfinie par
le numΘro de la trame le plus ΘlevΘ (en partant de 0 pour la trame
initiale). Chaque fois qu'un chemin d'exΘcution ou qu'un processus ne
comportant qu'un seul chemin d'exΘcution possΦde son propre %frame.
Vous pouvez mettre %frame de maniΦre explicite, α l'aide de la commande
"set". Donner une valeur α %frame remet Θgalement α zΘro les variables
%db_lang, %file, %func, %line, %list_file, %list_line et %loc afin de
maintenir une vue logique du contexte actuel.
VOIR EGALEMENT
%db_lang, %file, %func, %line, %loc
++
++ %func
NOM
%func - la fonction actuelle.
DESCRIPTION
%func contient le nom de la fonction correspondant α la trame
actuelle (%frame) α chaque fois qu'un chemin d'exΘcution ou qu'un processus
ne comportant qu'un seul chemin d'exΘcution s'arrΩte ou que %frame
est redΘfinie. Chaque chemin d'exΘcution ou processus ne comportant
qu'un seul chemin d'exΘcution possΦde sa propre %func. Vous pouvez
modifier de faτon explicite la valeur de %func, avec la commande "set",
mais seulement pour une fonction qui possΦde une trame active sur la pile;
%frame (ainsi que les variables associΘes %db_lang, %file, %func,
%line, %list_file, %list_line et %loc) seront Θgalement modifiΘes
pour reflΘter le nouveau contexte.
VOIR EGALEMENT
%frame
++
++ %lang
NOM
%lang - le langage actuel.
DESCRIPTION
Le langage actuel. Dans le cas o∙ il est dΘfini, il remplace la valeur
de %db_lang. Les chaεnes de caractΦres correctes pour %lang sont les
suivantes:
C ANSI C
C++ C++Release 2 ou 3
Si %lang n'est pas indiquΘ ou possΦde une valeur nulle (""), le
dΘbogueur utilise %db_lang comme langage actuel. Parmi les comandes qui
utilisent %lang pour Θvaluer les expressions il y a if, print, set,
stop, whatis, while.
VOIR EGALEMENT
%db_lang, C++, expr
++
++ %loc
NOM
%loc - l'emplacement actuel.
DESCRIPTION
Indique l'emplacement actuel de l'exΘcution. %loc contient la valeur du
"program counter" de la trame actuelle lorsqu'un chemin d'exΘcution
ou un processus ne comportant qu'un seul chemin d'exΘcution s'arrΩte ou
lorsque %frame est redΘfini. Chaque chemin d'exΘcution ou chaque
processus ne comportant qu'un seul chemin d'exΘcution possΦde son propre
%loc. Vous ne pouvez pas modifier de faτon explicite %loc. La premiΦre
commande "dis" aprΦs la dΘfinition de %frame va dΘsassembler les
instructions, commenτant α %loc si aucun emplacement n'est indiquΘ de
faτon explicite.
VOIR EGALEMENT
%frame, dis
++
++ %list_file
NOM
%list_file - le nom du fichier qui a ΘtΘ listΘ en dernier.
DESCRIPTION
%list_file garde une trace du dernier fichier affichΘ par la commande
list. %list-file change α chaque fois que la commande list est exΘcutΘe
et revient sur le nom du fichier contenant l'emplacement actuel (%loc) dans
la trame actuelle (%frame) α chaque fois qu'un chemin d'exΘcution
(ou un processus ne contenant qu'un seul chemin d'exΘcution) s'arrΩte ou
que %frame est modifiΘe. Chaque chemin d'exΘcution (ou chaque
processus ne contenant qu'un seul chemin d'exΘcution) possΦde sa propre
%list_file.
VOIR EGALEMENT
%file, %frame, %line, %list_line, list
++
++ %list_line
NOM
%list_line - affiche le numΘro de la derniΦre ligne affichΘe.
DESCRIPTION
%list_line garde une trace de la derniΦre ligne affichΘe par la commande
"list". %list_line change α chaque fois que la commande "list" est
exΘcutΘe et Θgalement redΘfinie par le numΘro de la ligne contenant
l'emplacement actuel (%loc) dans la trame actuelle (%frame) α chaque fois
qu'un chemin d'exΘcution ou un processus ne comportant qu'un seul chemin
d'exΘcution s'arrΩte ou que %frame est modifiΘe. Chaque chemin
d'exΘcution ou processus ne comportant qu'un seul chemin
d'exΘcution possΦde sa propre %list_line.
VOIR EGALEMENT
%file, %frame, %line, %list_file, list
++
++ %line
NOM
%line - le numΘro de la ligne actuelle.
DESCRIPTION
%line est dΘfinie par le numΘro de la ligne qui contient l'emplacement
actuel (%loc) dans la trame courante (%frame) α chaque fois qu'un
chemin d'exΘcution ou qu'un processus ne comportant qu'un seul chemin
d'exΘcution s'arrΩte ou que %frame est changΘe. Chaque chemin
d'exΘcution ou processus ne comportant qu'un seul chemin d'exΘcution
possΦde son propre %line. La premiΦre commande "list" aprΦs la
modification de %frame, va afficher le code source en commenτant par %line
si aucun emplacement n'est indiquΘ. Vous ne pouvez pas modifier %line
de maniΦre explicite.
VOIR EGALEMENT
%frame, %file, %list_file, %list_line, list
++
++ %mode
NOM
%mode - le mode d'Θdition de la ligne actuelle.
DESCRIPTION
Debug gΦre les historiques de commandes (ainsi que l'Θdition des commandes)
du style ksh(1). %mode est le mode d'Θdition utilisΘ pour l'Θdition des
lignes de commande. %mode contient la valeur de la variable
d'environnement VISUAL ou, si cette derniΦre n'existe pas, la valeur de
la variable d'environnement EDITOR. Cette valeur peut Ωtre modifiΘe α
tout moment en utilisant la commande "set". Les valeurs correctes
sont "vi" et "emacs". Toute autre valeur de %mode interdira l'Θdition
des commandes.
VOIR EGALEMENT
fc
++
++ %path
NOM
%path - le chemin de recherche local pour les fichiers sources.
DESCRIPTION
Chaque programme possΦde son propre %path. La valeur de %path est
une liste de noms de rΘpertoires, sΘparΘs par deux points. Lorsque le
dΘbogueur tente d'afficher les lignes de code source α partir d'un fichier,
il va chercher dans les rΘpertoires indiquΘs dans %path un fichier avec
le nom correct. Apres avoir recherchΘ la liste des chemins d'accΦs
locaux pour le programme indiquΘ, le dΘbogueur va chercher dans sa liste
globale de chemin d'accΦs (%global_path).
VOIR EGALEMENT
%global_path
++
++ %proc
NOM
%proc - le processus actuel.
DESCRIPTION
Cette variable contient le nom du processus actuel. Il peut Ωtre modifiΘ
de maniΦre explicite avec la commande "set" ou de faτon implicite
avec les commandes "create", "grab" ou "release". Modifier %proc modifie
Θgalement de faτon implicite %program, %thread et %frame.
VOIR EGALEMENT
%frame, %program, %thread, liste_proc
++
++ %program
NOM
%program - le programme actuel.
DESCRIPTION
Cette variable comporte le nom du programme qui contient le processus
actuel (%proc). Vous pouvez modifier ce nom de faτon explicite en utilisant
la commande "set" ou de faτon implicite avec les commandes "create",
"grab" ou "release". Les programmes sont nommΘs d'aprΦs le fichier
exΘcutable dont ils dΘrivent et peuvent Ωtre renommΘs avec la commande
"rename". La dΘfinition de %program redΘfinit Θgalement de faτon
implicite %proc, %thread et %frame.
VOIR EGALEMENT
%frame, %proc, %thread, liste_proc
++
++ %prompt
NOM
%prompt - l'invite du dΘbogueur.
DESCRIPTION
Le dΘbogueur demande α l'utilisateur une entrΘe en affichant la valeur
de %prompt. La valeur par dΘfaut est "debug>". Vous pouvez changer la
valeur de %prompt avec la commande "set".
++
++ %thisevent
NOM
%thisevent - le numΘro de l'ΘvΘnement qui est gΘrΘ actuellement.
DESCRIPTION
Avec une commande associΘe, %thisevent Θvaluera le numΘro de l'ΘvΘnement
auquel les commandes sont associΘes. Vous ne pouvez pas modifier la
valeur de %thisevent de maniΦre explicite.
VOIR EGALEMENT
%lastevent, assoccmd
++
++ %lastevent
NOM
%lastevent - le numΘro de l'ΘvΘnement crΘΘ le plus rΘcent.
DESCRIPTION
Apres une commande qui alloue un numΘro d'ΘvΘnement (stop, signal,
syscall ou onstop), %lastevent Θvaluera jusqu'αu numΘro qui vient
d'Ωtre allouΘ. Vous ne pouvez pas modifier la valeur de %lastevent de
maniΦre explicite.
VOIR EGALEMENT
%thisevent
++
++ assoccmd
NOM
assoccmd - une commande du dΘbogueur ou un bloc.
DESCRIPTION
Plusieurs commandes acceptent de maniΦre optionnelle une commande ou
des blocs de commandes associΘs. Ces commandes doivent apparaitre
en dernier dans la liste des arguments et comprendre des commandes
possΘdant leurs propres comandes associΘes - ce qui revient α dire que
les commandes associΘes peuvent Ωtre imbriquΘes. Les commandes seront
exΘcutΘesα chaque fois que les ΘvΘnements en cause (stop, signal, etc.) se
produiront. A l'intΘrieur d'une commande associΘe, %thisevent contient
le numΘro de l'ΘvΘnement traitΘ. Le chemin d'exΘcution ou le processus
qui rencontre l'ΘvΘnement devient temporairement le processus actuel
lorsque les commandes seront exΘcutΘes.
VOIR EGALEMENT
%thisevent, bloc, onstop, signal, stop, syscall
++
++ bloc
NOM
bloc - une liste de commandes.
DESCRIPTION
Une commande ou une liste de commandes sΘparΘes par des
points-virgules et entre accolades. Les blocs peuvent Ωtre utilisΘs comme
commandes associΘes (which see) ou peuvent apparaεtre indΘpendamment
d'autres commandes. Les blocs peuvent Ωtre utilisΘs pour regrouper des
commandes afin de rediriger leur sortie avec une seule redirection
(which see).
EXEMPLES
{ if (i) print *ptr; else print *mptr } > myfile
VOIR EGALEMENT
assoccmd, redirection
++
++ format
NOM
format - le format de la sortie de la commande "print".
DESCRIPTION
Le format est une chaεne de caractΦres similaire α celle qui est aceptΘe
par la routine printf du langage C. Chaque format doit avoir
la syntaxe suivante:
%[flags][width][.[precision]][conversion_character]
format_character
Tous les champs doivent avoir la mΩme signification que dans la routine
printf. La largeur et la prΘcision sont limitΘs α 1024. Les paramΦtres
depositionnement de printf et les caractΦres au format 'n' ne sont
pasacceptΘs. Chaque type de format correspond α l'une des expressions
donnΘesdans la commande print, dans l'ordre dans lequel ils apparaissent
Les caractΦres qui ne font pas partie des dΘfinitions de format sont
imprimΘs tel quel. Les caractΦres de formatage ont les significations
suivantes (les indications marquΘes d'un astΘrisque (*) ne sont peut
Ωtrepas disponible sur tous les systΦmes):
a*,A* virgule flottante en hexadΘcimal, avec des exposants
dΘcimaux.
b*,B* entier binaire non signΘ
C* CaractΦre large
c caractΦre non signΘ
d,i entier dΘcimal signΘ
e,E virgule flottante du style [-]d.ddde+/-dd
f virgule flottante du style [-]ddd.dddd
g,G virgule flottante dans l'un des styles ci-dessus
o entier octal non signΘ
p void * (pointeur gΘnΘral ; adresse hexadΘcimale)
S* chaεne de caractΦres large
s chaεne de caractΦres
u entier dΘcimal non signΘ
x,X entier hexadΘcimal non signΘ
z dΘbogueur style par dΘfaut pour l'expression
% %
VOIR EGALEMENT
print
++
++ emplacement
NOM
emplacement - une adresse dans un chemin d'exΘcution ou dans un processus.
DESCRIPTION
La syntaxe d'un indicateur emplacement est la suivante:
address[+-constant]
[thread id@][nom_fichier@]line
[thread id@][nom_fichier@]function[+-constant]
ou "address" est l'adresse octale ou hexadΘcimale d'un programme et
"constant" est un entier hexadΘcimal. Le "thread id" peut faire
rΘfΘrence α un chemin d'exΘcution ou α un processus ne comportant qu'un
seul chemin d'exΘcution.
EXEMPLES
17 un numΘro de ligne dans le fichier actuel (%file)
foo.c@17 un numΘro de ligne dans certains autres fichiers
0x80801234 une adresse
main un nom de fonction ou un label
main+3 trois octets aprΦs le label
p1.2@main un nom de fonction dans le chemin d'exΘcution
%loc l'emplacement actuel
%line le fichier actuel et le numΘro de ligne
%r0 un registre
%r0+80 un registre plus un dΘcalage
%pc-4 un registre moins un dΘcalage
$myvar une variable dΘfinie par l'utilisateur
VOIR EGALEMENT
%file, %line, %loc, scope, uservars
++
++ liste_proc
NOM
liste_proc - une liste des noms de processus.
DESCRIPTION
Une liste de noms de processus, sΘparΘs par des virgules.
La plupart des commandes acceptent une "liste_proc" avec l'option -p.
Une liste de ce genre ne doit pas contenir de blancs.
Une liste de noms de processus peut Ωtre constituΘ des choses suivantes:
1) le mot-clef "all" (tous) indiquant tous les chemins d'exΘcutions et
tous les processus,
2) un nom choisi par l'utilisateur ou gΘnΘrΘ par le dΘbogueur, indiquant
tous les chemins d'exΘcution et tous les processus dΘrivΘs de ce
programme,
3) un id de processus gΘnΘrΘ par le dΘbogueur, au format pn (par exemple
: p1, p2),
4) un id de chemin d'exΘcution gΘnΘrΘ par le dΘbogueur, au format pn.n
(par exemple: p2.3, p3.1),
5) %program, la variable interne au dΘbogueur, indiquant tous les
chemins d'exΘcution et tous les processus dΘrivΘs du programme
actuel,
6) %proc, la variable interne au dΘbogueur, indiquant le processus
courant (si celui-ci ne comporte qu'un seul chemin d'exΘcution) ou
tous les chemins d'exΘcution dΘrivΘs du processus courant,
7) %thread, la variable interne du dΘbogueur, indiquant le chemin
d'exΘcution actuel,
8) un entier en base dΘcimale, correspondant α l'id du systΦme d'un
processus controlΘ et de tous les chemins d'exΘcution en dΘrivant,
9) une variable dΘfinie par l'utilisateur (par exemple: $foo) qui
possΦde un valeur entiere pouvant Ωtre interprΘtΘe comme Θtant un id
de processus systΦme,
10) une variable dΘfinie par l'utilisateur, dont la valeur est une
chaεne de caractΦres qui peut Ωtre interprΘtΘe comme l'une des
valeurs ci-dessus ou comme une liste des valeurs ci-dessus.
VOIR EGALEMENT
%proc, %program, %thread, liste_proc, rename, uservars
++
++ redirection
NOM
redirection - changement de la destination de la sortie du dΘbogueur.
DESCRIPTION
Une commande ou un bloc de commandes, peut recevoir le suffixe ">",
suivi d'un nom de fichier ou un "|" et une invite du Shell UNIX(r).
Ceci entraεne une redirection de la sortie en direction du fichier ou
l'envoi de cette sortie sur une invite. Vous pouvez Θgalement utiliser
">>", qui ajoute la sortie α la fin du fichier, au lieu d'en remplacer
le contenu, le cas ΘchΘant.
EXEMPLES
stack > save.stack
symbols -gtv | grep int | pg
VOIR EGALEMENT
bloc
++
++ modΦle
NOM
modΦle - une expression de recherche de style sh(1).
DESCRIPTION
Un ensemble de caractΦres utilisΘ pour filtrer la sortie des commandes
"symbols".
* Remplace tous les caractΦres, y compris la chaεne "null".
? Remplace un seul caractere.
[...] Remplace les caractΦres compris entre les crochets, les
registres Θtant acceptΘs et ! en tant que premier
caractere indiquant la nΘgation
VOIR EGALEMENT
symbols
++
++ expr_rΘg
NOM
expr_rΘg - une expression de recherche de style ed(1).
DESCRIPTION
Une expression de recherche est utilisΘe pour rechercher un modΦle dans
un fichier source avec la commande "list".
. Est l'Θquivalent d'un caractere quelconque, α
l'exception d'une fin de ligne
[...] Est l'Θquivalent d'un (ou de plusieurs) des caractΦres
compris entre crochets, les registres Θtant acceptΘs
et ^ indiquant une nΘgation
* Indique zΘro ou plusieurs occurences des expressions
prΘcΘdentes
^ Est l'Θquivalent du caractere "null" au dΘbut d'une
ligne
$ Est l'Θquivalent du caractere "null" α la fin d'une
ligne
\{m\} Est l'Θquivalent de m occurences des expressions
prΘcΘdentes
\{m,\} Indique au moins m occurences des expressions de
recherche prΘcΘdentes
\{m,n\} Est l'Θquivalent des occurences de m jusqu'α n (compris)
\(...\) Est la mΩme Θquivalence que ...
\nombre Est l'Θquivalent de la ΘniΦme expression entre
parenthΦses de la mΩme expression
\< Est l'Θquivalent de la chaεne "null" en dΘbut de mot
\> Est l'Θquivalent de la chaεne "null" α la fin d'un mot
VOIR EGALEMENT
list
++
++ uservars
NOM
uservars - variables dΘfinies par l'utilisateur et gΘrΘes par le
dΘbogueur.
DESCRIPTION
Les noms commenτant par dollar ($) sont rΘservΘs α l'utilisateur
du dΘbogueur. Au dΘmarrage, le dΘbogueur importe l'environnement
du shell en tant qu'ensemble initial de variables dΘfinies par
l'utilisateur. Vous pouvez crΘer une nouvelle variable avec la commande
"set". Les variables dΘfinies par l'utilisateur sont de type "chaεne de
caractΦres" ; elles sont converties en valeurs nuΘmriques chaque fois
que cela est nΘcessaire avec strtol(3).
VOIR EGALEMENT
export, set
++
++ %db_lang
NOM
%db_lang - la variable interne du dΘbogueur correspondant
au langage actuel.
DESCRIPTION
%db_lang contient le langage du chemin d'exΘcution ou du processus
actuel et elle est utilisΘe par le dΘbogueur afin d'Θvaluer les
expressions du langage. Elle est dΘfinie par le dΘbogueur, qui se fonde
sur les informations contenues dans le fichier source lui-mΩme et elle
ne peut pas Ωtre modifiΘe directement par l'utilisateur. Si le
dΘbogueur ne peut pas dΘterminer le langage du chemin d'exΘcution ou du
processus courant, la valeur par dΘfaut de %db_lang est C. DΘfinir de
maniΦre explicite la variable %lang remplace le langage du chemin
d'exΘcution ou du processus actuel. Les commandes utilisant %db_lang
pour Θvaluer les expressions sont: if, print, set, stop, whatis,
and while, entre autre.
VOIR EGALEMENT
%lang, C++, expr
++
++ %global_path
NOM
%global_path - le chemin de recherche global du dΘbogueur.
DESCRIPTION
La valeur de %global_path doit Ωtre une liste de noms de rΘpertoires,
sΘparΘs par deux points (":"). Lorsque le dΘbogueur tente d'afficher
le code source provenant d'un fichier, il va chercher dans les
rΘpertoires indiquΘs par le %path local les fichiers portant le mΩme nom
que le programme. Apres avoir cherchΘ dans la liste locale, le dΘbogueur
va chercher dans la liste globale de recherche (%global_path).
%global_path peut Θgalement Ωtre modifiΘ α l'invite du dΘbogueur avec
l'option -s.
VOIR EGALEMENT
%path
++
++ %num_bytes
NOM
%num_bytes - le nombre d'octets α afficher par dΘfaut.
DESCRIPTION
Si la commande "dump" n'est pas donnΘe avec l'option -c, elle n'affiche
que %num_bytes octets. La valeur initiale de %num_bytes est 256 et
elle peut Ωtre modifiΘe avec la commande "set".
VOIR EGALEMENT
dump
++
++ %num_lines
NOM
%num_lines -- nombre de lignes α afficher.
DESCRIPTION
Si la commande "dis" ou la commande "list" sont donnΘes sans l'option -c,
chaque commande affiche un nombre de lignes Θquivalent α %num_lines.
La valeur initiale de %num_lines est de 10 et cette valeur peut Ωtre
modifiΘe avec la commande "set".
VOIR EGALEMENT
dis, list
++
++ %result
NOM
%result - Θtat de l'exΘcution de commandes du dΘbogueur.
DESCRIPTION
Apres l'exΘcution de chaque commande du dΘbogueur, le rΘsultat de
son exΘcution est conservΘ en %result. 0 indique une exΘcution
rΘussie. Une autre valeur que 0 indique un Θchec lors de l'exΘcution.
++
++ %verbose
NOM
%verbose - niveau de dΘtails des ΘvΘnements du dΘbogueur.
DESCRIPTION
Lorsqu'un processus ou un chemin d'exΘcution controlΘ par le dΘbogueur
s'arrΩte, le dΘbogueur imprime normalement un message indiquant
la raison de cet arrΩt, l'id du chemin d'exΘcution ou du processus
et la ligne de code suivant celle ou s'est produit l'arrΩt, le cas ΘchΘant
ou la ligne suivante de texte dΘsassemblΘ. %verbose peut Ωtre utilisΘ
pour contr⌠ler cette sortie. Les valeurs possibles sont les
suivantes:
quiet aucune sortie n'est envoyΘe lors de l'arrΩt d'un
chemin d'exΘcution ou d'un processus
source affiche seulement la ligne de code source ou de
dΘsassemblage
events si un ΘvΘnement a provoquΘ l'arrΩt, l'ΘvΘnement est
Θgalement affichΘ (cette derniΦre option ne prenant pas
en compte les demandes d'arrΩt (halte ou exΘcution pas α pas)
reason la raison de l'arrΩt, y compris les ΘvΘnements et les
demandes d'arrΩts
all affichage le plus dΘtaillΘ (gΘnΘralement le mΩme que
reason)
Le mode de fonctionnement par dΘfaut est "all". Le mode "quiet" peut
Θgalement Ωtre indiquΘ avec l'option -q α certaines commandes du dΘbogueur.
Ces options -q individuelles remplacent le mode %verbose.
VOIR EGALEMENT
change, signal, step, stop, syscall, %thread_change
++
++ %wait
NOM
%wait - exΘcution synchrone ou asychrone des commandes.
DESCRIPTION
Lorsque le dΘbogueur lance un chemin d'exΘcution ou un processus ne
comportant qu'un seul chemin d'exΘcution, il attend normalement
que le processus ou le chemin d'exΘcution s'arrΩte avant de redonner le
contr⌠le α l'utilisateur. Donner α %wait la valeur "background",
0 ou "no" fait entrer le dΘbogueur en mode asynchrone. En mode asynchrone,
les commandes exΘcutant un processus ou un chemin d'exΘcution
redonnent immΘdiatement le contr⌠le α l'utilisateur, sans en attendre
l'arrΩt. Pour revenir au mode de fonctionnement par dΘfaut, il suffit de
donner les valeurs "foreground", 1 ou "yes" α %wait. La valeur globale
de %wait peut Ωtre remplacΘe avec les options -f ou -b des commandes
"run" et "step".
VOIR EGALEMENT
run, step
++
++ expr_stop
NOM
expr_stop - traitement de l'espace adresse des expressions
d'ΘvΘnements
DESCRIPTION
Les expr_stop sont des expressions spΘciales qui sont acceptΘes par la
commande stop. Une expr_stop consiste en un ou plusieurs ΘvΘnements,
joints par les opΘrateurs spΘciaux && (and) ou || (or). Ces opΘrateurs
sont associΘs α gauche (left-associative), mais le dΘbogueur ne garantit
pas l'ordre dans lequel leurs opΘrandes seront ΘvaluΘs. Chaque ΘvΘnement
peut Ωtre:
emplacement
( expr )
*lvalue
Chaque type d'ΘvΘnement stop possΦde une action qui lui permettra d'Ωtre
pris en compte par le dΘbogueur. Lorsqu'une action de ce type a lieu,
l'expression stop toute entiere est ΘvaluΘe afin de dΘterminer si elle est
"vraie". Si cela est le cas, l'ΘvΘnement se dΘclenche de la maniere
normale (le dΘbogueur informe alors l'utilisateur de l'ΘvΘnement et exΘcute
les commandes associΘes).
Un "emplacement" est l'adresse, α l'intΘrieur du texte du processus o∙
le dΘbogueur peut placer un point d'arrΩt. Lorsqu'un chemin
d'exΘcution ou un processus atteint l'emplacement indiquΘ, le dΘbogueur
prend en compte l'ΘvΘnement. Pour des emplacements de stop_events
qui font rΘfΘrence α des noms de fonctions, l'expression est vraie aussi
longtemps que la fonction est active. Pour des emplacements de stop_events
s'appliquant α une adresse particuliΦre ou α un numΘro de ligne,
l'expression n'est vraie que lorsque le chemin d'exΘcution ou le processus
atteint cette adresse ou cette ligne. Tapez "help emplacement" pour une
syntaxe complΦte de la commande emplacement. Lorsque le langage actuel est
le C++, vous pouvez Θgalement utiliser des fonctions particuliΦres
au C++. Tapez "help C++" pour obtenir plus de dΘtails.
"expr" peut Ωtre une expression correct dans le langage actuel (%lang ou
%db_lang). Le dΘbogueur remarque le stop_event lorsque l'un des
identificateurs compris dans l'expression voit sa valeur modifiΘe.
L'expression entiere est ensuite ΘvaluΘe dans le contexte du langage actuel.
"lvalue" peut Ωtre une expression quelconque dans le langage actuel qui
serait correcte α gauche d'une dΘclaration d'assignement dans ce langage.
Le dΘbogueur remarque cet ΘvΘnement lorsque le contexte de
l'emplacement change. Le changement en lui-mΩme rend vrai cette sorte de
stop_event.
Des expr_stop plus puissantes peuvent Ωtre crΘΘes en combinant des
ΘvΘnements_stop avec des opΘrateurs && (and). Par exemple, pour
s'arrΩter α l'intΘrieur d'une fonction a alors que la fonction b est
Θgalement active, tapez "stop a && b". Pour s'arrΩter lorsque la valeur
d'une expression x devient vraie α l'intΘrieur d'une fonction y, tapez
"stop y && (x)".
EXEMPLES
stop myfile.c@230
stop *bar
stop (x == 5)
stop foo && (a > 7)
stop (a == 4) || (b == 7)
VOIR EGALEMENT
%db_lang, %lang, C++, expr, emplacement, scope, stop
++
++ %redir
NOM
%redir - le processus d'E/S doit-il Ωtre redirigΘ ?
DESCRIPTION
%redir contr⌠le le comportement de la commande create. Par dΘfaut, la
commande create ne redirige pas les E/S d'un processus qu'elle vient
de crΘer, α moins que l'option -r ne soit indiquΘe. Si %redir possΦde
la valeur 1 ou "yes", create redirigera les E/S du processus, α
moins que l'option -n ne soit indiquΘe. Le comportement par dΘfaut peut
Ωtre remis en place en remettant %redir sur 0 ou sur "no".
VOIR EGALEMENT
create, grab, input
++
++ expr
NOM
expr - expressions du dΘbogueur
DESCRIPTION
Les expressions du dΘbogueur suivent la syntaxe et la sΘmantique
du langage actuel (%lang ou %db_lang). Le dΘbogueur accepte les expressions
contenant des combinaisons de variables et de fonctions du programme,
de noms qualifiΘs, de variables internes au dΘbogueur et des variables
internes au dΘbogueur dΘfinies par l'utilisateur. Un nom qualifiΘ
indique un identificateur du programme qui ne sera pas visible dans le
contexte actuel. La syntaxe de ces noms qualifiΘs est la suivante:
[[thread_id]@][[source_file]@][[function]@][[line_number]
@]identifier
ou [[thread_id]@]frame_number@identifier
ou [[thread_id]@]object_name@[source file@]identifier
Le nom qualifiΘ est ΘvaluΘ de gauche α droite et il est possible
d'en rΘduire l'ambiguitΘ en y ajoutant des @ si nΘcessaire.
"frame_number" (numΘro de trame) et "function" (fonction) doivent
faire rΘfΘrence aux fonctions qui sont actuellement actives.
"thread_id" (id_thread) peut faire rΘfΘrence α un
chemin d'exΘcution ou α un processus ne comportant qu'un seul
chemin d'exΘcution. "object_name" (nom d'objet) fait rΘfΘrence α
un objet quelconque (fichier exΘcutable ou librairie partagΘe)
faisant partie du processus.
Lorsque le langage employΘ est le C, la commande "debug" gΦre
l'Θvalustion de toutes les expressions correctes en C ANSI, α
l'exception de celles qui impliquent des extensions par macro, par
structure ou par ΘnumΘrations de dΘclarations de types. Un exemple de
dΘclaration de type, dans une expression est la suivante:
((struct { int i; char c; } *)p)->c = 'a';
Lorsque le langage employΘ est le C++, la commande debug accepte un
sous-ensemble des expressions du C++. Consultez la documentation du C++
pour plus de dΘtails.
Lorsque l'expression commenτe par un tiret (-) ou contient des
caractΦres ayant une signification spΘciale pour le dΘbogueur, elle
doit Ωtre entre parenthΦses, entre accolades ou entre crochets. Les
caractΦres ayant une signification spΘciale sont les suivants: >, >>,
|, ||, &&, #, les virgules, les points-virgules et les caractΦres de
retour chariot.
VOIR EGALEMENT
%db_lang, %lang, C++, if, print, scope, set, stop, expr_stop,
uservars, while
++
++ scope
NOM
scope - visibilitΘ d'un identificateur de programme.
DESCRIPTION Les commandes du dΘbogueur qui acceptent des emplacements
ou des expressions peuvent rΘfΘrencer les identificateurs dans les
programmes contr⌠lΘs, comme: les fonctions, les paramΩtres, les
variables, les labels, les types, les structures et les marques d'union,
les noms de membres et les ΘnumΘrations littΘrales. Les emplacements
peuvent Θgalement rΘfΘrencer des numΘros de ligne dans le code source.
La visibilitΘ d'un nom pour le dΘbogueur, α n'importe quel moment,
dΘpend de l'Θtat du programme α ce moment (contexte) et des informations
de dΘboguage fournies par le programme au dΘbogueur.
Les numΘros de lignes du code source, les noms des variables locales
d'une fonction particuliΦre, les noms des paramΩtres, les noms des types
les structures, les Θtiquettes d'union, les noms des membres et les
ΘnumΘrations littΘrales, ne sont disponibles que si le fichier dans
lequel ils sont rΘfΘrencΘs a ΘtΘ compilΘ en indiquant l'option -g au
compilateur. Les noms des fonctions et variables statiques ou globales
sont disponibles si le fichier qui les dΘfinit a ΘtΘ compilΘ avec
l'option -g ou si la table des symboles du programme n'a pas ΘtΘ
enlevΘe.
Les numΘros des lignes du code source, les fonctions et les variables
statiques ne sont visibles que lorsque le contexte actuel est prΘsent α
l'intΘrieur du fichier, c'est-α-dire si le programme a ΘtΘ arrΩtΘ α
l'intΘrieur du code gΘnΘrΘ a partir de ce fichier. Les paramΩtres de
fonction ne sont visibles que si le contexte actuel est contenu dans
cette fonction. Les variables locales ne sont visibles que lorsque le
contexte actuel est visible α l'intΘrieur du bloc qui les dΘfinit.
Les identificateurs qui ne sont pas visibles dans le contexte courant
peuvent souvent Ωtre accΘdΘs a des emplacements ou dans des expressions
en utilisant des noms qualifiΘs. Voir "expr" et "emplacement" pour une
syntaxe complΦte.
Les symboles dΘfinis dans des librairies partagΘes ne sont pas visibles,
jusqu'α ce que ces librairies soient chargΘes par l'Θditeur de liens
dynamique. Les symboles des librairies partagΘes chargΘs par des appels
a dlopen(3X) ne sont disponibles qu'aprΦs l'appel a dlopen.
VOIR EGALEMENT
%frame, %func, %line, expr, emplacement
++
++ whatis
NOM
whatis - affiche le type d'une expression.
RESUME
whatis [-p liste_proc] expr
DESCRIPTION
"whatis" affiche le type d'une expression dans le contexte courant
(%frame). Si une liste_proc est donnΘe, le type de l'expression est
ΘvaluΘe dans le contexte de chaque chemin d'exΘcution ou de chaque
processus dans la liste. L'expression "expr" peut Ωtre une expression
quelconque du langage actuel.
Si une variable est une structure ou un type de classe, "whatis
variable" affichera le nom de la structure ou de la classe. "whatis
structure_tag_name" ou "whatis type_name" affichera toutes les
informations concernant ce type, y compris les membres de la structure
et les constantes d'ΘnumΘration.
Si on lui donne en entrΘe un pointeur en direction d'une classe
d'objets possΘdant des fonctions virtuelles et que le dΘbogueur peut
dΘterminer que le type d'objet sur lequel on pointe est dΘrivΘ d'une
classe de base, whatis affichera a la fois la classe de base et la
classe dΘrivΘe.
EXEMPLES
whatis i
whatis main
whatis (i + 1) * 2.0
whatis struct foobar
VOIR EGALEMENT
%db_lang, C++, expr
++
++ programme
NOM
programme - un objet exΘcutable.
DESCRIPTION
Un program est un objet exΘcutable dans les des formats de fichier
objet compris par le dΘbogueur, avec les librairies partagΘes que
l'objet exΘcutable charge au moment de l'exΘcution. L'image exΘcutable
d'un programme est un processus. Puisqu'un processus peut se diviser,
plusieurs processus peuvent donc provenir d'un mΩme programme. Chacun
de ces processus peut Ωtre composΘ de plusieurs chemins d'exΘcution et
de contr⌠le. Faire rΘfΘrence a un programme par son nom ou faire
rΘfΘrence au programme actuel (%program), dans la liste de processus du
dΘbogueur, signifie tous les processus et les chemins d'exΘcution
dΘrivΘs de l'exΘcution initiale de ce programme.
VOIR EGALEMENT
%proc, %program, %thread, processus, liste_proc, thread
++
++ processus
NOM
processus - l'image exΘcutable d'un programme.
DESCRIPTION
Un process est l'image exΘcutable d'un programme et comprend un ou
plusieurs chemins d'exΘcution et de contr⌠le. Chaque chemin d'exΘcution
α l'intΘrieur d'un mΩme processus partage l'espace d'adressage commun du
processus, les identificateurs des parents et enfants du processus, les
privilΦges, les rΘpertoires racines et les rΘpertoires de travail, les
descriptions de fichiers et les verrous d'enregistrement, les limites
des ressources et le contexte de gestion des signaux (a l'exception du
signal de masquage et du signal de pile). Faire rΘfΘrence α un processus
en utilisant son identificateur de dΘboguage, son identificateur systΦme
ou en utilisant la variable %proc dans la liste des processus du
dΘbogueur revient α faire rΘfΘrence α tous les chemins d'exΘcution
compris dans le processus. Si un processus ne comprend qu'un seul chemin
d'exΘcution, ce processus sera comme un objet unique.
VOIR EGALEMENT
%follow, %proc, %program, %thread, liste_proc, program, thread
++
++ thread
NOM
thread - un unique chemin d'exΘcution et de contr⌠le.
DESCRIPTION
Un thread (chemin d'"exΘcution) est un seul contexte d'exΘcution
a l'intΘrieur d'un processus. Chaque chemin d'exΘcution possΦde
son popre ensemble de registres, son masque de signal et sa
propre pile de signaux. Un "thread", dans le contexte du
dΘbogueur, fait rΘfΘrence aux entitΘs de niveau utilisateur
implΘmentΘes dans les interfaces contenues dans <thread.h>. Ces
chemins d'exΘcution sont diffΘrents (et construits au-dessus) des
processus rΘduits (LWP - light-weight process) gΘrΘs par le
noyau.
A un moment donnΘ, un chemin d'exΘcution peut Ωtre soit exΘcutΘ en mode
processus rΘduit (LWP), soit en attente. Un chemin d'exΘcution en
attente ne peut pas Ωtre lancΘ par le dΘbogueur, mais son Θtat peut
Ωtre examinΘ et modifΘ.
VOIR EGALEMENT
%proc, %program, %thread, processus, liste_proc, program,
ps, run, step
++
++ %thread
NOM
%thread - le chemin d'exΘcution actuel.
DESCRIPTION
Cette variable contient le nom du chemin d'exΘcution actuel. Il peut
Ωtre modifiΘ de maniΦre explicite en utilisant la commande "set" ou de
maniΦre implicite en utilisant les commandes "create", "grab" et
"release". La dΘfinition de %thread modifie Θgalement de maniΦre
implicite %proc, %program et %frame. Si le processus courant (%proc) ne
comporte qu'un seul chemin d'exΘcution, %thread ne contient qu'une
chaεne de caractΦres vide.
VOIR EGALEMENT
%frame, %proc, %program, processus, liste_proc, program, thread
++
++ %thread_change
NOM
%thread_change - contr⌠le le comportement des changements d'Θtat.
DESCRIPTION
Un chemin d'exΘcution peut passer par diffΘrents Θtats pendant sa durΘe
de vie: il est crΘΘ et on peut le quitter ; il peut Ωtre suspendu ou
continuΘ et un chemin d'exΘcution multiplexΘ peut abandonner son LWP ou
Ωtre adoptΘ par un LWP. %thread_change contr⌠le le comportement du
dΘbogueur lorsque l'un de ces changements d'Θtat a lieu. Les
valeurs correcte sont les suivantes:
ignore Le dΘbogueur n'imprimera pas de message annonτant
le changement ou l'arrΩt du chemin d'exΘcution
impliquΘ. Un chemin d'exΘcution nouvellement crΘΘ, un
chemin d'exΘcution continuΘ ou un chemin d'exΘcution
adoptΘ par un LWP sera lancΘ, le cas ΘchΘant.
announce Le dΘbogueur imprimera un message annoncant le
changement d'Θtat, mais n'arrΩtera pas le chemin
d'exΘcution impliquΘ. Un chemin d'exΘcution
nouvellement crΘΘ, un chemin d'exΘcution continuΘ ou un
chemin d'exΘcution adoptΘ par un LWP sera lancΘ, le cas
ΘchΘant.
stop Le dΘbogueur imprimera un message annonτant le
changement d'Θtat et arrΩtera le chemin d'exΘcution
impliquΘ, le cas ΘchΘant. Un chemin d'exΘcution
continuΘ ou un chemin d'exΘcution adoptΘ par un LWP
sera arrΩtΘ (ou placΘ sur Off en cas d'Θtat LWP). En ce
qui concerne la crΘation de chemin d'exΘcution, le
chemin d'exΘcution qui procΦde α la crΘation du
nouveau chemin d'exΘcution sera arrΩtΘ et le nouveau
chemin d'exΘcution sera lui-mΩme arrΩtΘ une fois qu'il
atteindra la fonction indiquΘe dans l'appel
thr_create(3T).
La valeur par dΘfaut de %thread_change est "stop".
VOIR EGALEMENT
processus, programme, thread
++
++ C++
NOM
C++ - SpΘcificitΘ du langage C++
DESCRIPTION Le dΘbogueur va reconnaεtre un fichier objet compilΘ α
l'aide de la version 2.0 de C++ Compilation System ou du traducteur de
C++ cfront (version 2.1 ou 3.0) et va dΘfinir le langage actuel
(%db_lang) comme Θtant C++. Les noms s'affichent comme dans la source
C++ et non comme ils apparaissent dans le fichier objet.
Lorsque le langage actuel est C++, le dΘbogueur accepte un sous-ensemble
d'expressions faisant partie de C++, parmi lesquelles on trouve les
suivantes:
o Toutes les expressions acceptΘes lorsque C constitue le langage
actuel,
o Appels adressΘs α des fonctions membre, dont font partie les
fonctions membre virtuelles et les fonctions membre statiques,
o Appels adressΘs α des fonctions surchargΘes,
o Expressions utilisant des noms de types comme typedefs,
o Expressions utilisant des fonctions opΘrateur surchargΘes et
o Expressions accΘdant aux membres des classes grΓce au pointeur
implicite "this", lorsque le processus ou le chemin d'exΘcution
est arrΩtΘ dans une fonction associΘe aux membres des classes.
Les commandes print et set ont une option -v (verbose) qui permet
d'afficher des information dΘtaillΘes, comprenant les prototypes de
toutes les fonctions appelΘes par le dΘbogueur pour l'Θvaluation d'une
expression. Cette option est particuliΦrement utile pour une bonne
comprΘhension de ce qui peut se passer dans les expressions qui
utilisent des fonctions ou des opΘrateurs surchargΘs. Cette option -v
affiche Θgalement, pour la commande print, une structure et des membres
de classe gΘnΘrΘs par compilateur, tels que des pointeurs de tables de
fonctions virtuelles.
Lorsqu'il existe un pointeur d'objet de classe de base avec des
fonctions virtuelles et que le dΘbogueur peut dΘterminer que le type
d'objet vers lequel est dirigΘ le pointeur est une classe dΘrivΘe de la
classe de base, la commande whatis va afficher la classe de base et le
classe qui en dΘrive. La commande print va Θgalement afficher l'objet
comme d'un type dΘrivΘ.
Lors de l'impression d'une structure ou d'une classe, la commande print
va afficher les membres de classe static, en signalant qu'il s'agit de
membres statiques. Notez bien que les symboles de -v n'affichent pas ce
type de membres. Notez Θgalement que les membres de classe gΘnΘrΘs par
compilateur ne s'affichent qu'avec l'option -v de la commande print.
Les points d'interruption (ΘvΘnements stop) peuvent se dΘfinir avec:
o des fonctions membres de classe, comprenant les fonctions
constructor, destructor et de conversion,
o des opΘrateurs surchargΘs et
o des fonctions surchargΘes qui utilisent le prototype complet ou
o des fonctions surchargΘes n'ayant pas d'information prototype.
Dans ce cas, le dΘbogueur affiche une liste de fonctions et vous
demande d'en sΘlectionner une ou la totalitΘ.
Un ΘvΘnement stop peut Θgalement Ωtre crΘe pour une combinaison
spΘcifique d'objet et de fonction membre en utilisant la syntaxe "stop
pointer->function" ou "stop object.function". Le dΘbogueur n'arrΩte le
processus ou le chemin d'exΘcution, au moment ou la fonction est entrΘe,
que si "ce" pointeur correspond α l'objet spΘcifiΘ. S'il s'agit d'une
fonction virtuelle, le dΘbogueur dΘfinit le point d'interruption sur la
fonction de remplacement appropriΘe.
EXEMPLES
print *this
print -v ptr->overloaded_f(1, 2)
whatis ptr_to_base stop C::f(int)
stop C::C
stop C::~C
stop C::operator int()
stop C::operator+
stop ptr->f(char *)
VOIR EGALEMENT
%db_lang, expr, print, set, stop, whatis
++