Vos recrutements informatiques

700 000 développeurs, chefs de projets, ingénieurs, informaticiens...

Contactez notre équipe spécialiste en recrutement

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

Le , par Katleen Erna, Expert éminent sénior
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


Vous avez aimé cette actualité ? Alors partagez-la avec vos amis en cliquant sur les boutons ci-dessous :


 Poster une réponse

Avatar de JulienDuSud JulienDuSud - Membre confirmé https://www.developpez.com
le 17/10/2009 à 7:51
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.
Avatar de joseph_p joseph_p - Membre expérimenté https://www.developpez.com
le 17/10/2009 à 11:26
Hum, quels sont les languages concernés par ce JIT ? Pas C/C++ si ? Si oui, alors j'ai raté de sacrés épisodes
Avatar de xtope xtope - Membre du Club https://www.developpez.com
le 17/10/2009 à 13:58
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 ?
Avatar de souviron34 souviron34 - Expert éminent sénior https://www.developpez.com
le 17/10/2009 à 15:50
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)..
Avatar de sidev sidev - Membre du Club https://www.developpez.com
le 17/10/2009 à 16:35
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?
Avatar de souviron34 souviron34 - Expert éminent sénior https://www.developpez.com
le 17/10/2009 à 16:53
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..
Avatar de SpiceGuid SpiceGuid - Membre émérite https://www.developpez.com
le 17/10/2009 à 18:50
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.
Avatar de souviron34 souviron34 - Expert éminent sénior https://www.developpez.com
le 18/10/2009 à 1:20
d'ailleurs il me semble même que ddd le fait partiellement également..
Avatar de kurapix kurapix - Membre du Club https://www.developpez.com
le 20/10/2009 à 7:14
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
Avatar de kkt8 kkt8 - Membre habitué https://www.developpez.com
le 06/03/2013 à 13:50
Bonjour,

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

a+
Offres d'emploi IT
Développeur Web FULL-STACK
VACALIANS GROUP - Languedoc Roussillon - SETE (34)
Développeur WEB PHP F/H
VACALIANS GROUP - Languedoc Roussillon - SETE (34)
RESPONSABLE WEB ANALYTICS F/H
VACALIANS GROUP - Languedoc Roussillon - SETE (34)

Voir plus d'offres Voir la carte des offres IT
Contacter le responsable de la rubrique Accueil