Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

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

Le , par Katleen Erna

63PARTAGES

0  0 
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

Une erreur dans cette actualité ? Signalez-le nous !

Avatar de 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.
1  0 
Avatar de 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)..
1  0 
Avatar de SpiceGuid
Membre expert 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.
1  0 
Avatar de 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
0  0 
Avatar de 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 ?
0  0 
Avatar de 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?
0  0 
Avatar de 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..
0  0 
Avatar de 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..
0  0 
Avatar de 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
0  0 
Avatar de 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+
0  0