• # strace

    Posté par (site web personnel) . En réponse au journal Un debugger est-il indispensable ?. Évalué à 4.

    Tout d'abord comme on l'a dit précédemment, cela dépend en effet aussi du langage et de l'environnement (ex: firebug (pour firefox) ou webinspector (pour les webkits) pour faire du JavaScript).

    Mais pour les langages compilés, avant de sortir l'artillerie lourde, on peut aussi tenter un petit strace pour détecter le problème. Cela marche en plus même si on a pas les sources, même sur des binaires "strippé" ou même sans avoir à recompiler pour rajouter plus de symboles.

    Pour les script (shell) aussi, rajouter un petit "set -x" vers le début répond aussi souvent au besoin.

    Pour moi le débogueur peut-être très instructif pour mieux maîtriser son langage et son compilateur, mais une fois les deux bien maîtrisé, s'en servir signifie à mon avis surtout que l'on ne maîtrise pas son code.
    Sauf peut-être pour la minorité qui joue avec du hardware en betâ ou très ésotérique, dans quel cas un débogueur peut permettre d'identifier un bug hardware (instruction mal routé/"codé", zone mémoire flottante)… avant de sortir de l'artillerie encore plus lourde : les sondes.

    A noter enfin que bien maîtriser un débogueur nécessite aussi des connaissances sur l'architecture, zones mémoires, ordonnanceur, etc… que beaucoup de développeurs n'ont pas.

    Je moinsse, tu moinsses, il moinsse, nos bots moinssent ...