IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Actualités Discussion :

GNU présente son Debugger 7.0, qui apporte le reverse-debugging

  1. #1
    Expert éminent sénior
    Avatar de Katleen Erna
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    1 547
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2009
    Messages : 1 547
    Points : 76 188
    Points
    76 188
    Par défaut GNU présente son Debugger 7.0, qui apporte le reverse-debugging
    GNU présente son Debugger 7.0, qui apporte le reverse-debugging

    GNU Debugger vient de sortir dans sa nouvelle version 7.0 qui apporte son lot d'améliorations et de nouvelles fonctionnnalités. Parmis les nouvelles mesures les plus importantes, on notera la prise en charge de multiples plateformes (dont x86/x86_64 Darwin) ainsi que la possibilité pour les développeurs de scripter le debugger avec Python. Il sera de plus désormais possible d'utiliser un mode reverse-debugging pour revenir en arrière durant le processus de test d'une application.

    Le reverse-debugging n'en est par ailleurs qu'à ses débuts. Cette technologie fait tout juste son apparition dans la version 7.0, et n'est actuellement prise en charge que par trois plateformes : i386 Linux, AMD64 Linux et moxie-elf. L'équipe du debugger GNU recherche activement de l'aide pour pouvoir étendre ce support aux plateformes Mac OS X et Windows, et améliorer ses performances et sa prise en charge d'i386.

    Quelques soucis d'exécution ont d'ailleurs déjà été repéré lors de l'utilisation de Sys_brk, mais devraient être corrigés.

    L'arrivée de cette nouvelle fonctionnalité ouvre de grandes possibilités pour les utilisateurs de GNU. EIle apporte de nouvelles commandes permettant par exemple de revenir à un point précédent, ou d'exécuter une application entièrement à l'envers pour repèrer la source de certains problèmes.

    GNU Debugger 7.0 apporte également quelques solutions et mises à jour. Cette version est la première de la série à inclure une configuration x86 native pour la plate-forme Darwin et à prendre en charge des fonctions inline.

    Une nouvelle interface est également présente pour les compilations "just in time". Elle permet aux développeurs de débugger plus facilement des applications compilées en JIT. Les tracepoints peuvent désormais être optionnels, et le passage à l'Ada task est supporté.

    Le GNU Debugger 7.0 est disponible sous la Licence Publique de GNU.

    Source : Historique du projet et téléchargement sur le site officiel de GNU

  2. #2
    Membre confirmé
    Inscrit en
    Août 2004
    Messages
    556
    Détails du profil
    Informations forums :
    Inscription : Août 2004
    Messages : 556
    Points : 588
    Points
    588
    Par défaut
    Ouch ! Le reverse-debugging, en voilà une fonctionnalité à laquelle je m'attendais pas. Mais combien de fois n'ai-je pas voulu pouvoir retourner en arrière ?

    Vraiment un très gros pas dans le debugging, à mon avis.

    Reste à voir s'il n'y a pas d'effets de bords lors de son utilisation.

  3. #3
    Membre expérimenté

    Inscrit en
    Décembre 2004
    Messages
    584
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 584
    Points : 1 374
    Points
    1 374
    Par défaut
    Hum, quels sont les languages concernés par ce JIT ? Pas C/C++ si ? Si oui, alors j'ai raté de sacrés épisodes

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    55
    Détails du profil
    Informations personnelles :
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Mai 2008
    Messages : 55
    Points : 53
    Points
    53
    Par défaut
    C'est la première fois que j'entends parler de reverse debugging. Je me demande, comment le debuggeur peut savoir à partir d'où on est arrivés à telle ou telle instruction ? A moins qu'il ne le demande explicitiment ?

  5. #5
    Expert éminent sénior

    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    10 610
    Détails du profil
    Informations personnelles :
    Âge : 67
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 610
    Points : 17 923
    Points
    17 923
    Billets dans le blog
    2
    Par défaut
    Citation Envoyé par xtope Voir le message
    C'est la première fois que j'entends parler de reverse debugging. Je me demande, comment le debuggeur peut savoir à partir d'où on est arrivés à telle ou telle instruction ? A moins qu'il ne le demande explicitiment ?
    bah je suppose que simplement cela a à voir avec stocker les bons paramètres..

    Le principe est simple : puisque tu peux faire du debug pas à pas, pour remonter il faut stocker les états ou les changements d'états (comme du MPEG pour les images)..

  6. #6
    Membre du Club
    Inscrit en
    Février 2006
    Messages
    33
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 33
    Points : 65
    Points
    65
    Par défaut
    c'est cool ça.
    Donc si par exple je libère une ressource a un moment donné, avec le reverse-debugging cette ressource va se reconstruire quand je vais repasser sur cette ligne?? cmt est ce possible?

  7. #7
    Expert éminent sénior

    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    10 610
    Détails du profil
    Informations personnelles :
    Âge : 67
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 610
    Points : 17 923
    Points
    17 923
    Billets dans le blog
    2
    Par défaut
    Citation Envoyé par sidev Voir le message
    c'est cool ça.
    Donc si par exple je libère une ressource a un moment donné, avec le reverse-debugging cette ressource va se reconstruire quand je vais repasser sur cette ligne?? cmt est ce possible?
    déjà dit


    Si tu stockes que A était un tableau de 10 valeurs qui contenait 10 nombres, et que tu stockes qu'au moment X tu libères cela, si tu revient au moment X tu as bien l'information..

    Cela suppose seulement une (très grosse) capacité mémoire ainsi qu'une sauvegarde permanente de ce qui se passe (un "dump" dynamique).

    Donc bien entendu cela prend du temps et de la place, mais le principe est simple..

  8. #8
    Membre émérite
    Avatar de SpiceGuid
    Homme Profil pro
    Inscrit en
    Juin 2007
    Messages
    1 704
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire (Rhône Alpes)

    Informations forums :
    Inscription : Juin 2007
    Messages : 1 704
    Points : 2 991
    Points
    2 991
    Par défaut
    Citation Envoyé par JulienDuSud
    Ouch ! Le reverse-debugging, en voilà une fonctionnalité à laquelle je m'attendais pas. Mais combien de fois n'ai-je pas voulu pouvoir retourner en arrière ?
    En même temps il ne faudrait pas croire que c'est une innovation récente.
    OCamlDebug le fait (replay-debug ou backward-execution) depuis des années, et SML depuis bientôt 20 ans.

  9. #9
    Expert éminent sénior

    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    10 610
    Détails du profil
    Informations personnelles :
    Âge : 67
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 610
    Points : 17 923
    Points
    17 923
    Billets dans le blog
    2
    Par défaut
    d'ailleurs il me semble même que ddd le fait partiellement également..

  10. #10
    Membre régulier
    Inscrit en
    Mars 2007
    Messages
    55
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 55
    Points : 73
    Points
    73
    Par défaut
    Enfin une possibilitée de scripting avec un vrai langage!!!
    Ca changera des fichiers de commandes . . .

    Ow, le reverse debugging (ou plus connu sous le nom de backtracing) . . . , ça ça va faire mal , couplé à un langage comme Python, on pourra pour sûr faire des tools puissants .
    Je me demande s'ils ont prévus d'autres langages, parce qu'avoir accès aux fonctionnalitées de GDB de manière programmable, . . . c'est sûr que c'est allécheant .
    Anyway, le jour où GDB sera plus puissant que IDA Pro . . . .
    Et sinon pour l'algorithme de disassembly utilisée par GDB, c'est linear disassembly ou recursive disassembly?

    En tout cas, faudra que je teste ça , surtout que sous Ubuntu Karmic Koala (9.10) gdb a été update de la 6.8 à la 7.0 depuis 1 ou 2 semaines .

    kurapix

  11. #11
    Membre habitué Avatar de kkt8
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    472
    Détails du profil
    Informations personnelles :
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2005
    Messages : 472
    Points : 193
    Points
    193
    Par défaut Où en est-on ?
    Bonjour,

    A priori pas de reverse debugging sous windows ?
    Est-ce toujours le cas ?

    a+

Discussions similaires

  1. Réponses: 7
    Dernier message: 21/11/2010, 14h13
  2. Réponses: 0
    Dernier message: 15/10/2009, 08h16
  3. Réponses: 2
    Dernier message: 04/09/2009, 21h21
  4. Réponses: 0
    Dernier message: 03/09/2009, 05h58

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo