Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Questions de novice sur -dbgsym

4 réponses
Avatar
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=C3=A9cessaires p=
our
d=C3=A9couvrir ce qui s'est pass=C3=A9 et le cas =C3=A9ch=C3=A9ant ouvrir u=
n ticket =C3=A0 qui de
droit.

J'ai d=C3=A9couvert l'existence d'un d=C3=A9p=C3=B4t nomm=C3=A9 testing-deb=
ug contenant des
paquets de type <paquet>-dbgsym o=C3=B9 <paquet> est le nom d'un paquet dan=
s le
d=C3=A9p=C3=B4t testing.

Pardonnez-moi si mes questions semblent idiotes mais:

1. =C3=80 quoi sert exactement un paquet <paquet>-dbgsym ? Doit-on installe=
r
<paquet> et <paquet>-dbgsym ou <paquet>-dbgsym =C3=A0 la place de <paquet> =
?

2. Quel rapport entre <paquet>-dbgsym et la production de fichier coredump =
?

3. Plus g=C3=A9n=C3=A9ralement, dans mon imaginaire "un fichier coredump es=
t la
condition n=C3=A9cessaire et suffisante pour qu'un d=C3=A9veloppeur (ie pas=
un
mainteneur) puisse analyser un plantage". Est-ce plut=C3=B4t 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=3D"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=C3=A9=
cessaires pour d=C3=A9couvrir ce qui s&#39;est pass=C3=A9 et le cas =C3=A9c=
h=C3=A9ant ouvrir un ticket =C3=A0 qui de droit.<br><br></div>J&#39;ai d=C3=
=A9couvert l&#39;existence d&#39;un d=C3=A9p=C3=B4t nomm=C3=A9 testing-debu=
g contenant des paquets de type &lt;paquet&gt;-dbgsym o=C3=B9 &lt;paquet&gt=
; est le nom d&#39;un paquet dans le d=C3=A9p=C3=B4t testing.<br><br></div>=
<div>Pardonnez-moi si mes questions semblent idiotes mais:<br></div><div><b=
r></div>1. =C3=80 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 =C3=A0 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=C3=A9n=C3=A9ralement, dans mon imaginaire &quot;un fichie=
r coredump est la condition n=C3=A9cessaire et suffisante pour qu&#39;un d=
=C3=A9veloppeur (ie pas un mainteneur) puisse analyser un plantage&quot;. E=
st-ce plut=C3=B4t exact sinon qu&#39;est ce qui le serait d&#39;avantage ?<=
br><br></div>Slts<br></div>

--001a11473f96960830054a351975--

4 réponses

Avatar
fra-duf-no-spam
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.
Avatar
Haricophile
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 ?
Avatar
Vincent Lefevre
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 - Web: <https://www.vinc17.net/&gt;
100% accessible validated (X)HTML - Blog: <https://www.vinc17.net/blog/&gt;
Work: CR INRIA - computer arithmetic / AriC project (LIP, ENS-Lyon)
Avatar
fra-duf-no-spam
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...