Adoption du débogueur

Le premier sondage dédié au débogage mené par l’équipe du compilateur Rust en février 2026 a recueilli plus de 2 300 réponses. Seulement 46 % des participants déclarent utiliser un débogueur pour leurs projets Rust, tandis que 81 % privilégient les journaux et les instructions d’impression comme println! ou le macro dbg!. Cette préférence s’explique par la perception d’une plus grande rapidité et d’une fiabilité supérieure lorsqu’un outil ne parvient pas à afficher correctement les valeurs.

Problèmes de représentation des valeurs

Les répondants pointent principalement une représentation pauvre des valeurs : 74 % reprochent aux débogueurs une visualisation inadéquate, et 55 % affirment ne pas pouvoir inspecter de façon fiable des variables. Les types les plus concernés sont les enums, les collections HashMap et Vec. Un String qui apparaît comme une zone mémoire brute plutôt que comme du texte lisible pousse les développeurs vers println!. Cette lacune technique crée un « verification debt » qui se répercute sur la culture d’équipe.

dbg!(my_vec);

Débogage asynchrone et environnement polyglotte

Le débogage du code asynchrone est particulièrement limité : seulement 25 % des développeurs l’utilisent, et 28 % de ceux‑là rencontrent des difficultés concrètes. La nature non linéaire des futures et des exécutors ne correspond pas aux modèles de pas à pas classiques. Par ailleurs, 44 % des répondants déboguent des programmes mêlant Rust et d’autres langages, dont 70 % avec du C et 43 % avec du C++. Les débogueurs qui ne comprennent que Rust laissent donc un vide lorsqu’une frontière FFI est franchie.

Réponses de l’écosystème Rust

Face à ces constats, la communauté Rust a défini des priorités : améliorer la visualisation des enums et des collections, rendre les chaînes de caractères lisibles, et renforcer les traces d’appels asynchrones. Un projet Google Summer of Code teste la robustesse des informations de débogage pour éviter les régressions silencieuses. Le nouveau débogueur communautaire BugStalker exploite le trait Debug de Rust afin de contourner les problèmes de représentation. Enfin, 62 % des auteurs de bibliothèques ignorent l’attribut debugger_visualizer, soulignant un besoin de documentation plutôt que de nouvelles fonctionnalités du compilateur.