Annonces Google
Serveur IRC
Serveur : irc.portlane.se
Canal : #AmigaNG
Activité du Site

Pages vues depuis 25/07/2007 : 25 269 555

  • Nb. de membres 187
  • Nb. d'articles 1 270
  • Nb. de forums 19
  • Nb. de sujets 20
  • Nb. de critiques 24

Top 10  Statistiques

Index du forum »»  Création-Développement »» GDB ??? (En cas d'un DSI)

GDB ??? (En cas d'un DSI)#763

6Contributeur(s)
MrodfrCentaurZK-LElwoodcortoalex
3 Modérateur(s)
K-LElwoodcorto
alex alexicon_post
@mrodfr

envoies-moi le log de GR et la version debug, je te dirais où chercher et comment je l'ai trouvé avec addr2line.
alex alexicon_post
@mrodfr

envoies-moi le log de GR et la version debug, je te dirais où chercher et comment je l'ai trouvé avec addr2line.

Quand je disais "version normale" je voulais dire celle qui n'était pas "debug". La bonne façon de générer un exécutable pour pouvoir trouver d'où viennent les plantages des utilisateurs par la suite est de passer par la version debug. Je m'explique : on compile toujours une version debug avec le switch qui va bien (-g), ensuite pour obtenir la "version normale" on utilise le programme "strip" qui va retirer les informations de débogage tout en gardant le minimum.
Par exemple pour le programme AmiArcadia, je commence par produire la version debug 'AmiArcadia.debug' ensuite j'obtiens la version "normale" nommée 'AmiArcadia' en faisant :
ppc-amigaos-strip AmiArcadia.debug -o AmiArcadia

Evidemment je conserve précieusement AmiArcadia.debug pour pouvoir trouver les lignes (et fichier) du plantage avec addr2line.
CentaurZ CentaurZicon_post
@mrodfr

Peut-être lui manque-t-il la syntaxe correcte pour addr2line :

addr2line -e "nom_du_binaire" --section=.text "endroit_du_crash_dans_le_binaire"

Par exemple : addr2line -e Work:AmiArcadia --section=.text 0x15b0c

(désolé Alex, c'est juste un exemple ;-))
Message édité par : CentaurZ / 24-06-2010 19:10
alex alexicon_post
Citation : CentaurZ?
(désolé Alex, c'est juste un exemple ;-))


C'est pas grave pour la dernière version d'AmiArcadia j'ai juste servi de mentor c'est pas moi qui m'en suis occupé.... du coup il y aura effectivement peut-être des bugs ;-)
Elwood Elwoodicon_post
Citation : alex?

on compile toujours une version debug avec le switch qui va bien (-g)

tiens je croyais que c'était "-debug". C'est peut-être pareil.
--
Philippe Ferrucci
Avec une Sam460 et AmigaOS 4.1, je suis eco-responsable. Cool !
Mrodfr Mrodfricon_post
salut,

Une bonne page:

http://hdrlab.org.nz/articles/amiga-os-articles/using-crash-logs/

-gstabs pour ajouter les debug GCC. Jusqu'a present, il utilisait -g.


Autre question aux developpers:

- C'est quoi les SECTION (1 a 5 au moins) ???


Sinon je suis embete, j'envois le bug a une personne qui compile sous distrib zerohero.

De ce fait, je trouverais logique que je fasses moi meme l'addr2line, car comme cela il est fait aussi sous AOS4 (donc on est sur), mais il n'y en a pas avec AOS4.1. Dois je downloader le SDK juste pour ce programme ??? (qui me l'envoi par mail)


Sinon, cela serait 10 fois mieux d'avoir l'addr2line intégré dans le GR, on fait rien et le(s) resultat(s) addr2line sont sauves directement dans le crashlog.
SAM440EP+AOS4.1
alex alexicon_post
Mrodfr:

addr2line est un programme destiné aux développeurs de ce fait il n'est pas intégré à la distribution standard de l'OS. Tout comme GCC ne l'est pas non plus et est disponible dans le SDK, c'est aussi le cas d'addr2line. Quand on veut utiliser un outil de développement (addr2line) il *faut* télécharger (et installer) le kit de développement (SDK) cela semble plutôt logique.

Pourquoi addr2line n'est pas fait directement dans le GR ? Tout simplement parce que addr2line ne fonctionne qu'avec GCC (donc un programme fait avec vbcc ne pourra pas être traité avec même si c'est une version de déboguage). En plus il faut que le programme soit compilé de manière permettant l'utilisation d'addr2line.

Le compilateur GCC pour AmigaOS utilise par défaut le bon format lorsque l'on utilise -g sans préciser de format. Donc pas la peine de s'embêter avec ça.

Un exécutable est composé de plusieurs sections (parties) dont l'utilisation est déterminée, il s'agit d'un truc bas niveau sur l'organisation du binaire qu'il n'est pas très important de conna?tre... Sauf que l'utilitaire addr2line a un bug qui l'empêche de fonctionner si l'on ne lui précise pas dans quelle section il doit faire ses recherches. En l'occurence ici c'est la section '.text'.

Il n'y a aucune nécessité à ce que addr2line soit effectuée sous AmigaOS, il faut juste être certain d'utiliser un addr2line destiné à AmigaOS. Il est parfaitement logique que ce soit le *développeur* du logiciel qui se charge de ça et non l'utilisateur.
Elwood Elwoodicon_post
Pour intégrer addr2line à GR, on m'a répondu qu'il serait mieux d'avoir un GDB qui fonctionne.

Certes...

Bon qui s'y colle ? :-)
--
Philippe Ferrucci
Avec une Sam460 et AmigaOS 4.1, je suis eco-responsable. Cool !
alex alexicon_post
@elwood

il me semble avoir vu que quelqu'un s'y collait déjà sur Amigans.net
Mrodfr Mrodfricon_post
Petites Annonces

0 annonce(s) publiée(s)

Consulter

AmigaOS 4.1

Laissez-vous tenter par
AmigaOS 4.1
AmiTheme

AmiTheme