Developpez.com

Le Club des Développeurs et IT Pro

Le débogueur « rr » voit le jour, il permet de traquer les bugs indéterministes,

Mozilla ambitionne de remplacer gdb par son outil

Le 2014-04-01 20:19:34, par Arsene Newman, Expert éminent sénior
« rr », voilà le nom du nouveau débogueur développé par Mozilla, dont l’ambition est de remplacer gdb sur le long terme. Quant à sa devise, elle se résume à ce qui suit : « rr enregistre des exécutions non déterministes et les débogue de manière déterministe ».

Développé à l’origine pour déboguer le navigateur Firefox, il a été étendu pour en faire un outil capable de déboguer des applications. L’avantage offert par ce dernier réside principalement dans sa capacité à déboguer des programmes dont l’exécution provoque des bugs difficiles à reproduire, l’une des plus grandes frustrations des développeurs.

« La disposition de la mémoire est toujours la même (pour le programme enregistré), les adresses des objets ne changent pas, les valeurs des registres sont identiques, syscalls retourne les mêmes données, etc.» a déclaré Mozilla, ainsi à l’image d’un programme télévisé enregistré, rr sera en mesure de parcourir le programme étape par étape, autant de fois que souhaité, car toutes les données nécessaires seront enregistrées.

Côté performance, Mozilla a déclaré que l’utilisation de son débogueur impacte la durée d’exécution normale du programme par un facteur variant entre x1.25 et x3, la fondation n’envisage pas pour l’heure d’améliorer ses performances, car elle estime que sa vitesse d’exécution reste décente pour le travail fourni.

En ce qui concerne les limitations de rr, elles sont nombreuses, mais justifiées par la précocité du projet (rr est à sa première version - 1.0). Les principales limitations sont de l’ordre des architectures et des plateformes supportées comme : le seul support de l’architecture x86 en version 32 bits sous Linux (un portage vers la version 64 bits est promis pour le futur), l’inexistence d’une version dédiée à Windows ou encore la non-prise en charge des processeurs Haswell d’Intel et ARM, même si pour ces derniers, Mozilla justifie la situation par leurs faibles performances, ce qui ne permet pas de supporter un tel programme.

Consulter le code source de rr sur GitHub

Source : Projet rr
Et vous ?

Qu’en pensez-vous ?

Pensez-vous que rr pourra remplacer un jour gdb ?
  Discussion forum
4 commentaires
  • gangsoleil
    Modérateur
    Envoyé par Arsene Newman
    le seul support de l’architecture x86 en version 32 bits sous Linux (un portage vers la version 64 bits est promis pour le futur), l’inexistence d’une version dédié à Windows ou encore la non-prise en charge des processeurs Haswell d’Intel et ARM, même si pour ces derniers Mozilla justifie la situation par leurs faibles performances, ce qui ne permet pas de supporter un tel programme.

    Qu’en pensez-vous ?
    Pensez-vous que rr pourra remplacer un jour gdb ?
    Pour l'archi, je peux presque comprendre... Et encore... Mais linux est 64 bits depuis 2003 (2001 pour les premieres versions), et ils bossent toujours en 32 bits ?

    rr pourra peut-etre remplacer GDB s'ils arrivent a avoir sa portabilite, ce qui ne semble pas gagner (vu qu'il faut qu'ils fassent des portages dans tous les sens).
  • Paul TOTH
    Expert éminent sénior
    c'est excellent ! il est vrai que la capacité de nos machines permettent ce genre de tour de force.

    au passage ça donne aussi un incroyable outils pour les hackers
  • mangobango
    Membre averti
    Bah! GDB n'a pas été porté en un jour. Ça prendra le temps que ça prendra, le plus important est qu'ils n'abandonnent pas le projet en cours de route. La fondation Mozilla a quelques projets révolutionnaires mais sans suites.
  • akrogames
    Membre actif
    et ils bossent toujours en 32 bits ?
    Ah mais c'est pour ça que Firefox est toujours aussi lent comme un navigateur de 2003. Tout s'explique...

    Sérieusement, j'ai lâché Mozilla et firefox depuis qu'il y a chrome car les performances sont meilleures. Maintenant je test quand même chaque version pour vérifier mais toujours ce problème de perf.