Pour ce genre de fonctionnalité, j'aurais préféré une base de hashs de binaires...
Et si c'était comme ça, on serait en train de taper sur MS parce qu'ils décident unilatéralement quels anti-virus sont reconnus (il est illusoire de penser qu'il serait possible de rester synchronisé avec tous les éditeurs d'anti-virus indépendants à long terme).
pertinent adj. Approprié : qui se rapporte exactement à ce dont il est question.
Tous les jeux propriétaires ne sont pas aussi contraignant non plus (bon j'ai aucun jeu propriétaire récent) et il existe des jeux libres dont le « packaging » les rend pratiquement aussi ininstallables (PlanetShift au hasard, bon il est pas tout à fait libre non plus). Ceci dit il est vrai qu'un jeu propriétaire aura plus tendance à inclure des « protections » ennuyeuses pour l'utilisateur (légitime) qu'un jeu libre.
pertinent adj. Approprié : qui se rapporte exactement à ce dont il est question.
ddd supporte les breakpoints conditionnels apparement. C'est pas très joli mais c'est à la souris (avec possibilité d'entrer des commandes gdb à la main quand même).
pertinent adj. Approprié : qui se rapporte exactement à ce dont il est question.
C'est pas tellement la compilation en elle même qui fait perdre du temps mais plutôt le fait d'éditer pour rajouter/enlever les printf et parfois l'exécution.
Pour le debug de code concurrent, c'est toujours bien chiant mais les printf ont tendance à heisenbugger assez bien aussi dans ce cas. J'ai plutôt l'impression que la solution est d'utiliser un debugger système du genre de dtrace (qui fait plus du logging que du debugging proprement dit d'ailleurs).
Le problème c'est que bien souvent on printf debug rien que pour savoir si on est arrivé à un endroit dans le code alors qu'on peut aussi bien le faire plus rapidement avec un debugger sans avoir à modifier le code. S'il est vraiment intéressant de savoir régulièrement si un est passé par un endroit donné, alors autant laisser un debug() en permanence.
pertinent adj. Approprié : qui se rapporte exactement à ce dont il est question.
les systèmes de cache la rendent souvent inutile si on n'en tient pas compte
Si on veut se passer de fflush(3) et de write(1) (qui est moins portable), on peut faire un coup de setbuf(stdout, NULL) au début ou utiliser stderr qui n'est pas bufferisé par défaut.
moi j'aimais bien le debug à coup de PRINTF, ca permettait de commenter le code tout en générant des logs compréhensibles pour les autres développeurs
Relis ma définition :
J'appelle « printf debugging » le fait d'ajouter du code temporaire dans le seul but de débugger du code existant.
Ce que tu fais j'appelle ça du logging.
Par ailleurs, pour répondre à galactikboulay, le fait que printf(3) flush à chaque "\n" n'est sans doute pas très standard.
pertinent adj. Approprié : qui se rapporte exactement à ce dont il est question.
Ben c'est un peu le principe des mods que les joueurs de HL, Quake, UT et autres connaissent bien. Pour les autres je suis pas sûr mais pour UT on me dit que les « règles » du jeu de base sont disponibles aussi et qu'elles sont modifiables sans outil tiers. UT2004 n'est sans doute pas le premier jeu à faire ça non plus d'ailleurs.
C'est plutôt l'inverse ça. Les règles du jeu font partie des données qu'on fournit au moteur pour qu'il produise le jeu. Par ailleurs ça m'étonnerait quand même que ces règles soient sous une licence libre. Si c'est le cas, j'imagine qu'il y a des quelque part des gens qui sont en train d'écrire (ou ont déjà écrit) de quoi les convertir dans un format utilisable par Freeciv.
pertinent adj. Approprié : qui se rapporte exactement à ce dont il est question.
Ben oui, et donc au lieu de « throw new Error(); » tu peux aussi bien dire « abort(); ». Ca permet de tracer aussi précisement l'origine du problème mais c'est plus efficace et ça reste utilisable dans les langages qui ne supportent pas les exceptions. Ou bien tu parlais d'exceptions non fatales mais alors je vois pas le rapport.
Je dirais plutôt que le fait que ce texte n'existe pas est une observation. Une conclusion serait par exemple que tu es le seul bon programmeur sur le net. Une autre serait qu'utiliser des printfs pour debuger un programme est considéré comme tout à fait correct par la majorité des programmeurs.
C'est pas parce qu'un tel article existerait déjà que celui qui l'aurait écrit serait un bon programmeur. Il y a plein d'articles très mauvais écrits par des mauvais programmeurs. Que cet article ci soit bon ou non, c'est au lecteur de juger mais si l'article existait déjà je n'aurais pas eu à l'écrire. L'intérêt de l'avoir écrit c'est que maintenant qu'il existe, j'aurai juste à ressortir le lien quand le sujet sortira dans une conversation plutôt que d'expliquer mon point de vue pour la 42ème fois.
utiliser un debugger apporte aussi son lot d'inconvénients et n'est pas forcement un meilleur choix.
D'ailleurs, pour trouver un bug, même les solutions les pires sont acceptables si les meilleures n'ont rien donné...
C'est bien comme ça que je l'entend. Il n'y a pas de solution miracle. Mon journal tente de montrer au programmeur débutant qui ne connait que le printf debugging les limites de cette méthode.
pertinent adj. Approprié : qui se rapporte exactement à ce dont il est question.
À la base, techniquement, au niveau sécurité, j'ai un peu de mal à voir en quoi Windows NT et ses descendants sont moins bien conçus que Unix/Linux. Les systèmes de privilèges ont l'air assez similaires en fin de compte. J'ai plutôt l'impression que les problèmes de virus de Windows sont dûs à une configuration par défaut trop laxiste, des utilisateurs qui ne comprennent pas ce qu'ils font et une grande distribution de l'OS (ce qui augmente la motivation des attaquants).
pertinent adj. Approprié : qui se rapporte exactement à ce dont il est question.
[^] # Re: Presque 10 ans plus tard... les places fortes d'internet.
Posté par Krunch (courriel, site web personnel) . En réponse à la dépêche Le Hold-up planétaire dans le cyberespace. Évalué à 1.
pertinent adj. Approprié : qui se rapporte exactement à ce dont il est question.
[^] # Re: ça n'a pas changé
Posté par Krunch (courriel, site web personnel) . En réponse à la dépêche Le Hold-up planétaire dans le cyberespace. Évalué à 3.
pertinent adj. Approprié : qui se rapporte exactement à ce dont il est question.
# h2g2
Posté par Krunch (courriel, site web personnel) . En réponse au journal Histoire d'astro (nomie|logie). Évalué à 2.
http://madchat.org/esprit/textes/ebooks/Adams%20Douglas/Doug(...)
(chapitre 2, page 15 après passage par pr(1))
pertinent adj. Approprié : qui se rapporte exactement à ce dont il est question.
[^] # Re: l'intérêt des jeux vidéos libres
Posté par Krunch (courriel, site web personnel) . En réponse à la dépêche Le succès du libre est-il transposable au jeu vidéo?. Évalué à 2.
pertinent adj. Approprié : qui se rapporte exactement à ce dont il est question.
[^] # Re: En taille réelle
Posté par Krunch (courriel, site web personnel) . En réponse à la dépêche Première publication du projet Magrathea. Évalué à 1.
pertinent adj. Approprié : qui se rapporte exactement à ce dont il est question.
[^] # Re: Bravo mais..
Posté par Krunch (courriel, site web personnel) . En réponse à la dépêche La quintessence des algorithmes bit à bit. Évalué à 2.
http://www.byte.com/abrash/
pertinent adj. Approprié : qui se rapporte exactement à ce dont il est question.
# Would you like to know more?
Posté par Krunch (courriel, site web personnel) . En réponse au journal printf debugging considered harmful. Évalué à 3.
pertinent adj. Approprié : qui se rapporte exactement à ce dont il est question.
[^] # Re: Qui a parle d'achat ?
Posté par Krunch (courriel, site web personnel) . En réponse au journal Microsoft et l'Axe du mal. Évalué à 2.
pertinent adj. Approprié : qui se rapporte exactement à ce dont il est question.
[^] # Re: ouais
Posté par Krunch (courriel, site web personnel) . En réponse au journal printf debugging considered harmful. Évalué à 2.
http://www.st.cs.uni-sb.de/dd/
pertinent adj. Approprié : qui se rapporte exactement à ce dont il est question.
# STFW ?
Posté par Krunch (courriel, site web personnel) . En réponse au journal Web toolkit. Évalué à 2.
pertinent adj. Approprié : qui se rapporte exactement à ce dont il est question.
[^] # Re: Démo technique
Posté par Krunch (courriel, site web personnel) . En réponse à la dépêche KDE aKademy 2006 du 23 au 30 septembre à Dublin. Évalué à 5.
pertinent adj. Approprié : qui se rapporte exactement à ce dont il est question.
# flashback
Posté par Krunch (courriel, site web personnel) . En réponse au journal Un article fantastique !. Évalué à 3.
https://linuxfr.org/2005/07/14/19309.html#601219
https://linuxfr.org/2004/11/09/17630.html#495621
pertinent adj. Approprié : qui se rapporte exactement à ce dont il est question.
[^] # Re: Bonjour \o/
Posté par Krunch (courriel, site web personnel) . En réponse au message Syntaxe d'un fichier ACL. Évalué à 2.
D'ailleurs apparement getfacl sous Linux l'indique en commentaire dans ce cas. Par exemple :
pertinent adj. Approprié : qui se rapporte exactement à ce dont il est question.
[^] # Re: printf, pour débutant ?
Posté par Krunch (courriel, site web personnel) . En réponse au journal printf debugging considered harmful. Évalué à 3.
pertinent adj. Approprié : qui se rapporte exactement à ce dont il est question.
[^] # Re: printf, pour débutant ?
Posté par Krunch (courriel, site web personnel) . En réponse au journal printf debugging considered harmful. Évalué à 6.
pertinent adj. Approprié : qui se rapporte exactement à ce dont il est question.
[^] # Re: Mouaif...
Posté par Krunch (courriel, site web personnel) . En réponse au journal printf debugging considered harmful. Évalué à 1.
Pour le debug de code concurrent, c'est toujours bien chiant mais les printf ont tendance à heisenbugger assez bien aussi dans ce cas. J'ai plutôt l'impression que la solution est d'utiliser un debugger système du genre de dtrace (qui fait plus du logging que du debugging proprement dit d'ailleurs).
Le problème c'est que bien souvent on printf debug rien que pour savoir si on est arrivé à un endroit dans le code alors qu'on peut aussi bien le faire plus rapidement avec un debugger sans avoir à modifier le code. S'il est vraiment intéressant de savoir régulièrement si un est passé par un endroit donné, alors autant laisser un debug() en permanence.
pertinent adj. Approprié : qui se rapporte exactement à ce dont il est question.
[^] # Re: Au final...
Posté par Krunch (courriel, site web personnel) . En réponse au journal printf debugging considered harmful. Évalué à 2.
pertinent adj. Approprié : qui se rapporte exactement à ce dont il est question.
[^] # Re: Au final...
Posté par Krunch (courriel, site web personnel) . En réponse au journal printf debugging considered harmful. Évalué à 1.
Relis ma définition :Ce que tu fais j'appelle ça du logging.
Par ailleurs, pour répondre à galactikboulay, le fait que printf(3) flush à chaque "\n" n'est sans doute pas très standard.
pertinent adj. Approprié : qui se rapporte exactement à ce dont il est question.
[^] # Re: Jeux commerciaux libres
Posté par Krunch (courriel, site web personnel) . En réponse à la dépêche Le succès du libre est-il transposable au jeu vidéo?. Évalué à 3.
http://download.beyondunreal.com/browse.php?dir=official/ut2(...)
pertinent adj. Approprié : qui se rapporte exactement à ce dont il est question.
[^] # Re: Jeux commerciaux libres
Posté par Krunch (courriel, site web personnel) . En réponse à la dépêche Le succès du libre est-il transposable au jeu vidéo?. Évalué à 3.
pertinent adj. Approprié : qui se rapporte exactement à ce dont il est question.
[^] # Re: exceptions
Posté par Krunch (courriel, site web personnel) . En réponse au journal printf debugging considered harmful. Évalué à 4.
Au passage, si on veut vraiment, en C aussi on peut avoir des exceptions : http://www.freetype.org/david/reliable-c.html
Et plein d'autres trucs d'ailleurs : http://ldeniau.home.cern.ch/ldeniau/html/oopc/oopc.html http://developer.gnome.org/doc/API/2.0/gobject/index.html
pertinent adj. Approprié : qui se rapporte exactement à ce dont il est question.
[^] # Re: Claimed truth considered harmful
Posté par Krunch (courriel, site web personnel) . En réponse au journal printf debugging considered harmful. Évalué à 0.
C'est bien comme ça que je l'entend. Il n'y a pas de solution miracle. Mon journal tente de montrer au programmeur débutant qui ne connait que le printf debugging les limites de cette méthode.
pertinent adj. Approprié : qui se rapporte exactement à ce dont il est question.
[^] # ce commentaire aura une note de -42
Posté par Krunch (courriel, site web personnel) . En réponse à la dépêche Le Hold-up planétaire dans le cyberespace. Évalué à 2.
pertinent adj. Approprié : qui se rapporte exactement à ce dont il est question.
[^] # Re: Motif(s) du refus de rééditer l'ouvrage ?
Posté par Krunch (courriel, site web personnel) . En réponse à la dépêche Le Hold-up planétaire dans le cyberespace. Évalué à 3.
pertinent adj. Approprié : qui se rapporte exactement à ce dont il est question.
# trop long
Posté par Krunch (courriel, site web personnel) . En réponse au message comparaison de variables. Évalué à 2.
pertinent adj. Approprié : qui se rapporte exactement à ce dont il est question.