Questions de novice sur -dbgsym
Le
Olivier

--001a11473f96960830054a351975
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
Bonjour,
Je m'interroge sur les moyens disponibles dans Debian pour disposer en cas
de plantage d'une application, du maximum d'informations nécessaires p=
our
découvrir ce qui s'est passé et le cas échéant ouvrir u=
n ticket à qui de
droit.
J'ai découvert l'existence d'un dépôt nommé testing-deb=
ug contenant des
paquets de type <paquet>-dbgsym où <paquet> est le nom d'un paquet dan=
s le
dépôt testing.
Pardonnez-moi si mes questions semblent idiotes mais:
1. À quoi sert exactement un paquet <paquet>-dbgsym ? Doit-on installe=
r
<paquet> et <paquet>-dbgsym ou <paquet>-dbgsym à la place de <paquet> =
?
2. Quel rapport entre <paquet>-dbgsym et la production de fichier coredump =
?
3. Plus généralement, dans mon imaginaire "un fichier coredump es=
t la
condition nécessaire et suffisante pour qu'un développeur (ie pas=
un
mainteneur) puisse analyser un plantage". Est-ce plutôt exact sinon qu=
'est
ce qui le serait d'avantage ?
Slts
--001a11473f96960830054a351975
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
<div dir="ltr"><div><div><div><div><div><div><div>Bonjour,<br><br></div>J=
e m'interroge sur les moyens disponibles dans Debian pour disposer en c=
as de plantage d'une application, du maximum d'informations né=
cessaires pour découvrir ce qui s'est passé et le cas éc=
héant ouvrir un ticket à qui de droit.<br><br></div>J'ai dÃ=
©couvert l'existence d'un dépôt nommé testing-debu=
g contenant des paquets de type <paquet>-dbgsym où <paquet>=
; est le nom d'un paquet dans le dépôt testing.<br><br></div>=
<div>Pardonnez-moi si mes questions semblent idiotes mais:<br></div><div><b=
r></div>1. À quoi sert exactement un paquet <paquet>-dbgsym ? Do=
it-on installer <paquet> et <paquet>-dbgsym ou <paquet>-=
dbgsym à la place de <paquet> ?<br></div></div><br>2. Quel rappo=
rt entre <paquet>-dbgsym et la production de fichier coredump ?<br><b=
r></div>3. Plus généralement, dans mon imaginaire "un fichie=
r coredump est la condition nécessaire et suffisante pour qu'un d=
éveloppeur (ie pas un mainteneur) puisse analyser un plantage". E=
st-ce plutôt exact sinon qu'est ce qui le serait d'avantage ?<=
br><br></div>Slts<br></div>
--001a11473f96960830054a351975--
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
Bonjour,
Je m'interroge sur les moyens disponibles dans Debian pour disposer en cas
de plantage d'une application, du maximum d'informations nécessaires p=
our
découvrir ce qui s'est passé et le cas échéant ouvrir u=
n ticket à qui de
droit.
J'ai découvert l'existence d'un dépôt nommé testing-deb=
ug contenant des
paquets de type <paquet>-dbgsym où <paquet> est le nom d'un paquet dan=
s le
dépôt testing.
Pardonnez-moi si mes questions semblent idiotes mais:
1. À quoi sert exactement un paquet <paquet>-dbgsym ? Doit-on installe=
r
<paquet> et <paquet>-dbgsym ou <paquet>-dbgsym à la place de <paquet> =
?
2. Quel rapport entre <paquet>-dbgsym et la production de fichier coredump =
?
3. Plus généralement, dans mon imaginaire "un fichier coredump es=
t la
condition nécessaire et suffisante pour qu'un développeur (ie pas=
un
mainteneur) puisse analyser un plantage". Est-ce plutôt exact sinon qu=
'est
ce qui le serait d'avantage ?
Slts
--001a11473f96960830054a351975
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
<div dir="ltr"><div><div><div><div><div><div><div>Bonjour,<br><br></div>J=
e m'interroge sur les moyens disponibles dans Debian pour disposer en c=
as de plantage d'une application, du maximum d'informations né=
cessaires pour découvrir ce qui s'est passé et le cas éc=
héant ouvrir un ticket à qui de droit.<br><br></div>J'ai dÃ=
©couvert l'existence d'un dépôt nommé testing-debu=
g contenant des paquets de type <paquet>-dbgsym où <paquet>=
; est le nom d'un paquet dans le dépôt testing.<br><br></div>=
<div>Pardonnez-moi si mes questions semblent idiotes mais:<br></div><div><b=
r></div>1. À quoi sert exactement un paquet <paquet>-dbgsym ? Do=
it-on installer <paquet> et <paquet>-dbgsym ou <paquet>-=
dbgsym à la place de <paquet> ?<br></div></div><br>2. Quel rappo=
rt entre <paquet>-dbgsym et la production de fichier coredump ?<br><b=
r></div>3. Plus généralement, dans mon imaginaire "un fichie=
r coredump est la condition nécessaire et suffisante pour qu'un d=
éveloppeur (ie pas un mainteneur) puisse analyser un plantage". E=
st-ce plutôt exact sinon qu'est ce qui le serait d'avantage ?<=
br><br></div>Slts<br></div>
--001a11473f96960830054a351975--
Le 17233ième jour après Epoch,
Olivier écrivait:
Pas de questions idiotes, seules les réponsent peuvent l'être :-p
Pardonne moi, donc, si mes réponses sont idiotes...
C'est un paquet qui va contenir des infos de débug, des symboles
donc. Le paquet s'installe à la place de l'autre, et contient des
binaires un peu (voire beaucoup) plus gros, à cause des infos de debug.
En général, les programmes sont compilés avec et sans les in fos de
débug, ou alors juste avec puis sont "strippés" (man strip). Cela donne
deux versions des objets, l'un avec et l'autre sans les infos de debug.
Avec la production du coredump, rien, mais par contre pour l'analyse de
ce coredump, avoir les infos de débug est utile. Tu peux voir le nom d es
variables en clair plutôt que les adresses hexa, tu vois la pile sous
forme de nom de fonctions et non sous forme d'adresses...
Ce n'est ni nécessaire, ni suffisant, mais ça peut être supe r pratique.
Le coredump (illustré des infos de debug) est un instantané pris au
moment du plantage, avec lequel tu peux voir les variables, la pile,
etc... Mais tu ne vois pas par exemple les conditions initiales, le
chemin du programme pour en arriver là, etc...
J'espère avoir éclairé un peu ta lanterne.
--
Do not sleep in a eucalyptus tree tonight.
(François TOURDE) a écrit :
Pour compléter l'éclairage, strace peut avoir son utilité, n on ?
Non, les deux paquets coexistent. On peut même installer le -dbgsym
après le core dump, et il est automatiquement utilisé par gdb.
--
Vincent Lefèvre 100% accessible validated (X)HTML - Blog: Work: CR INRIA - computer arithmetic / AriC project (LIP, ENS-Lyon)
Vincent Lefevre écrivait:
Oui, tu as raison, désolé d'avoir répondu trop vite sans v érifier...