GNU présente son Debugger 7.0
Qui apporte le reverse-debugging
Le 2009-10-17 07:35:40, 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
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
-
JulienDuSudMembre confirmé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.le 17/10/2009 à 7:51 -
souviron34Expert éminent séniorbah 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)..le 17/10/2009 à 15:50 -
SpiceGuidMembre émérite
Envoyé par JulienDuSud
OCamlDebug le fait (replay-debug ou backward-execution) depuis des années, et SML depuis bientôt 20 ans.le 17/10/2009 à 18:50 -
joseph_pMembre expérimentéHum, quels sont les languages concernés par ce JIT ? Pas C/C++ si ? Si oui, alors j'ai raté de sacrés épisodesle 17/10/2009 à 11:26
-
xtopeMembre du ClubC'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 ?le 17/10/2009 à 13:58
-
sidevMembre du Clubc'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?le 17/10/2009 à 16:35 -
souviron34Expert éminent séniordé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..le 17/10/2009 à 16:53 -
souviron34Expert éminent séniord'ailleurs il me semble même que ddd le fait partiellement également..le 18/10/2009 à 1:20
-
kurapixMembre régulierEnfin 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 .
kurapixle 20/10/2009 à 7:14 -
kkt8Membre habituéBonjour,
A priori pas de reverse debugging sous windows ?
Est-ce toujours le cas ?
a+
le 06/03/2013 à 13:50