Le débogueur « rr » voit le jour, il permet de traquer les bugs indéterministes
Mozilla ambitionne de remplacer gdb par son outil
« 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 ?
Partager