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&#39;interroge sur les moyens disponibles dans Debian pour disposer en c=
as de plantage d&#39;une application, du maximum d&#39;informations né=
cessaires pour découvrir ce qui s&#39;est passé et le cas éc=
héant ouvrir un ticket à qui de droit.<br><br></div>J&#39;ai d=
couvert l&#39;existence d&#39;un dépôt nommé testing-debu=
g contenant des paquets de type &lt;paquet&gt;-dbgsym où &lt;paquet&gt=
; est le nom d&#39;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 &lt;paquet&gt;-dbgsym ? Do=
it-on installer &lt;paquet&gt; et &lt;paquet&gt;-dbgsym ou &lt;paquet&gt;-=
dbgsym à la place de &lt;paquet&gt; ?<br></div></div><br>2. Quel rappo=
rt entre &lt;paquet&gt;-dbgsym et la production de fichier coredump ?<br><b=
r></div>3. Plus généralement, dans mon imaginaire &quot;un fichie=
r coredump est la condition nécessaire et suffisante pour qu&#39;un d=
éveloppeur (ie pas un mainteneur) puisse analyser un plantage&quot;. E=
st-ce plutôt exact sinon qu&#39;est ce qui le serait d&#39;avantage ?<=
br><br></div>Slts<br></div>

--001a11473f96960830054a351975--
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
fra-duf-no-spam
Le #26428143
Bonjour,
Le 17233ième jour après Epoch,
Olivier écrivait:
Pardonnez-moi si mes questions semblent idiotes mais:

Pas de questions idiotes, seules les réponsent peuvent l'être :-p
Pardonne moi, donc, si mes réponses sont idiotes...
1. À quoi sert exactement un paquet <paquet>-dbgsym ? Doit-on instal ler
<paquet> et <paquet>-dbgsym ou <paquet>-dbgsym à la place de <paquet>
?

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.
2. Quel rapport entre <paquet>-dbgsym et la production de fichier
coredump ?

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...
3. Plus généralement, dans mon imaginaire "un fichier coredump est la
condition nécessaire et suffisante pour qu'un développeur (ie p as un
mainteneur) puisse analyser un plantage". Est-ce plutôt exact sinon qu'est
ce qui le serait d'avantage ?

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.
Haricophile
Le #26428249
Le Wed, 08 Mar 2017 11:44:49 +0100,
(François TOURDE) a écrit :
J'espère avoir éclairé un peu ta lanterne.

Pour compléter l'éclairage, strace peut avoir son utilité, n on ?
Vincent Lefevre
Le #26428676
On 2017-03-08 11:44:49 +0100, François TOURDE wrote:
Le 17233ième jour après Epoch,
Olivier écrivait:
1. À quoi sert exactement un paquet <paquet>-dbgsym ? Doit-on installer
<paquet> et <paquet>-dbgsym ou <paquet>-dbgsym à la place de <paquet>
?

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.

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)
fra-duf-no-spam
Le #26428725
Le 17237ième jour après Epoch,
Vincent Lefevre écrivait:
On 2017-03-08 11:44:49 +0100, François TOURDE wrote:
Le 17233ième jour après Epoch,
Olivier écrivait:
1. À quoi sert exactement un paquet <paquet>-dbgsym ? Doit-on ins taller
<paquet> et <paquet>-dbgsym ou <paquet>-dbgsym à la place de <paq uet>
?

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 de bug.

Non, les deux paquets coexistent. On peut même installer le -dbgsym
après le core dump, et il est automatiquement utilisé par gdb.

Oui, tu as raison, désolé d'avoir répondu trop vite sans v érifier...
Publicité
Poster une réponse
Anonyme