<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	>
<channel>
	<title>Comments on: L&#8217;art du debuggage</title>
	<atom:link href="http://jeremy.chatelaine.name/blog/programmation/lart-du-debuggage/feed" rel="self" type="application/rss+xml" />
	<link>http://jeremy.chatelaine.name/blog/programmation/lart-du-debuggage</link>
	<description>Des jeux video a la finance, a la creation d'entreprise</description>
	<pubDate>Sat, 04 Feb 2012 15:36:31 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.5.1</generator>
		<item>
		<title>By: Semaine #26 &#124; Grokuik</title>
		<link>http://jeremy.chatelaine.name/blog/programmation/lart-du-debuggage#comment-30379</link>
		<dc:creator>Semaine #26 &#124; Grokuik</dc:creator>
		<pubDate>Wed, 06 Jul 2011 10:10:08 +0000</pubDate>
		<guid isPermaLink="false">http://jeremy.chatelaine.name/blog/?p=89#comment-30379</guid>
		<description>[...] Question virus, si Ã§a vous intÃ©resse, vous pouvez tÃ©lÃ©charger ce fichier qui fait quelques 518 kb et qui contient le code source du fameux Stuxnet.Â Et pour les dÃ©veloppeurs (futurs ou en herbe), voici un petit guide deÂ l&#8217;art du debuggage. [...]</description>
		<content:encoded><![CDATA[<p>[...] Question virus, si Ã§a vous intÃ©resse, vous pouvez tÃ©lÃ©charger ce fichier qui fait quelques 518 kb et qui contient le code source du fameux Stuxnet.Â Et pour les dÃ©veloppeurs (futurs ou en herbe), voici un petit guide deÂ l&#8217;art du debuggage. [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Thomas Carton</title>
		<link>http://jeremy.chatelaine.name/blog/programmation/lart-du-debuggage#comment-5175</link>
		<dc:creator>Thomas Carton</dc:creator>
		<pubDate>Tue, 23 Oct 2007 22:03:43 +0000</pubDate>
		<guid isPermaLink="false">http://jeremy.chatelaine.name/blog/?p=89#comment-5175</guid>
		<description>Sous Visual il y a aussi les CRT DEBUG bien utiles pour tracker les leaks...
Ca m'a sauvÃ© un temps fou et une Ã©nergie folle d'avoir un breakpoint au moment de l'allocation mÃ©moire incriminÃ©e...
Et du coup sur console j'ai chopÃ© le reflexe de me faire un test case en debug avec les overrides des alloc, free, new et delete. C'est un peu mon CRT DEBUG du pauvre ;)</description>
		<content:encoded><![CDATA[<p>Sous Visual il y a aussi les CRT DEBUG bien utiles pour tracker les leaks&#8230;<br />
Ca m&#8217;a sauvÃ© un temps fou et une Ã©nergie folle d&#8217;avoir un breakpoint au moment de l&#8217;allocation mÃ©moire incriminÃ©e&#8230;<br />
Et du coup sur console j&#8217;ai chopÃ© le reflexe de me faire un test case en debug avec les overrides des alloc, free, new et delete. C&#8217;est un peu mon CRT DEBUG du pauvre <img src='http://jeremy.chatelaine.name/blog/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jeremy Chatelaine</title>
		<link>http://jeremy.chatelaine.name/blog/programmation/lart-du-debuggage#comment-4705</link>
		<dc:creator>Jeremy Chatelaine</dc:creator>
		<pubDate>Mon, 13 Aug 2007 06:59:39 +0000</pubDate>
		<guid isPermaLink="false">http://jeremy.chatelaine.name/blog/?p=89#comment-4705</guid>
		<description>Salut Psyche et content que l'article te plaise.

Concernant les configuration pour le compilateur, c'est tres clair pour moi:

- Le plus haut niveau de warning possible
- Traiter les warning comme des erreurs

Comme ca, rien ne passe et c'est important de rien laisser lorsqu'on programme en equipe.

Apres on peut toujours jouer du pragma pour ignorer certaines erreurs (warning)</description>
		<content:encoded><![CDATA[<p>Salut Psyche et content que l&#8217;article te plaise.</p>
<p>Concernant les configuration pour le compilateur, c&#8217;est tres clair pour moi:</p>
<p>- Le plus haut niveau de warning possible<br />
- Traiter les warning comme des erreurs</p>
<p>Comme ca, rien ne passe et c&#8217;est important de rien laisser lorsqu&#8217;on programme en equipe.</p>
<p>Apres on peut toujours jouer du pragma pour ignorer certaines erreurs (warning)</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: PsychÃ©</title>
		<link>http://jeremy.chatelaine.name/blog/programmation/lart-du-debuggage#comment-4704</link>
		<dc:creator>PsychÃ©</dc:creator>
		<pubDate>Mon, 13 Aug 2007 00:37:16 +0000</pubDate>
		<guid isPermaLink="false">http://jeremy.chatelaine.name/blog/?p=89#comment-4704</guid>
		<description>Salut, sympa l'article.
J'aimerais connaitre ton avis concernant le dÃ©bogage de niveau 4.Je connais des gens qui codent en warning niveau 3, et dise que le 4 ca sert rien. Qu es ce que tu en penses?
Merci.</description>
		<content:encoded><![CDATA[<p>Salut, sympa l&#8217;article.<br />
J&#8217;aimerais connaitre ton avis concernant le dÃ©bogage de niveau 4.Je connais des gens qui codent en warning niveau 3, et dise que le 4 ca sert rien. Qu es ce que tu en penses?<br />
Merci.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: SÃ©Ã -Ã?</title>
		<link>http://jeremy.chatelaine.name/blog/programmation/lart-du-debuggage#comment-2128</link>
		<dc:creator>SÃ©Ã -Ã?</dc:creator>
		<pubDate>Tue, 13 Mar 2007 13:53:43 +0000</pubDate>
		<guid isPermaLink="false">http://jeremy.chatelaine.name/blog/?p=89#comment-2128</guid>
		<description>F8Full
Ta bien de la chance moi FXComposer veux pas se lancer sous vista :(

Sinon si tu a cocher la case "enable Shader debugging" dans le panneau de control de DirectX. met  ce code:

DWORD dwShaderFlags = D3DXFX_NOT_CLONEABLE;
				#if defined( DEBUG ) &#124;&#124; defined( _DEBUG )
					dwShaderFlags &#124;= D3DXSHADER_DEBUG;
				#endif
				#ifdef DEBUG_VS
					dwShaderFlags &#124;= D3DXSHADER_FORCE_VS_SOFTWARE_NOOPT;
				#endif
				#ifdef DEBUG_PS
					dwShaderFlags &#124;= D3DXSHADER_FORCE_PS_SOFTWARE_NOOPT;
				#endif

Et c'eset le 5eme paramÃ¨tre du create effect.

J'espere que Ã§a t'aidera, et si une autre personne Ã  plus Ã©voluÃ© je suis prenneur aussi!</description>
		<content:encoded><![CDATA[<p>F8Full<br />
Ta bien de la chance moi FXComposer veux pas se lancer sous vista <img src='http://jeremy.chatelaine.name/blog/wp-includes/images/smilies/icon_sad.gif' alt=':(' class='wp-smiley' /> </p>
<p>Sinon si tu a cocher la case &#8220;enable Shader debugging&#8221; dans le panneau de control de DirectX. met  ce code:</p>
<p>DWORD dwShaderFlags = D3DXFX_NOT_CLONEABLE;<br />
				#if defined( DEBUG ) || defined( _DEBUG )<br />
					dwShaderFlags |= D3DXSHADER_DEBUG;<br />
				#endif<br />
				#ifdef DEBUG_VS<br />
					dwShaderFlags |= D3DXSHADER_FORCE_VS_SOFTWARE_NOOPT;<br />
				#endif<br />
				#ifdef DEBUG_PS<br />
					dwShaderFlags |= D3DXSHADER_FORCE_PS_SOFTWARE_NOOPT;<br />
				#endif</p>
<p>Et c&#8217;eset le 5eme paramÃ¨tre du create effect.</p>
<p>J&#8217;espere que Ã§a t&#8217;aidera, et si une autre personne Ã  plus Ã©voluÃ© je suis prenneur aussi!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: News &#124; ConquÃ©rir le monde !</title>
		<link>http://jeremy.chatelaine.name/blog/programmation/lart-du-debuggage#comment-2127</link>
		<dc:creator>News &#124; ConquÃ©rir le monde !</dc:creator>
		<pubDate>Sun, 11 Mar 2007 22:20:52 +0000</pubDate>
		<guid isPermaLink="false">http://jeremy.chatelaine.name/blog/?p=89#comment-2127</guid>
		<description>[...] Gros pavÃ© trÃ¨s intÃ©ressant sur le debug en programmation chez Jeremy Chatelaine (FranÃ§ais) [...]</description>
		<content:encoded><![CDATA[<p>[...] Gros pavÃ© trÃ¨s intÃ©ressant sur le debug en programmation chez Jeremy Chatelaine (FranÃ§ais) [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: F8Full</title>
		<link>http://jeremy.chatelaine.name/blog/programmation/lart-du-debuggage#comment-2126</link>
		<dc:creator>F8Full</dc:creator>
		<pubDate>Sun, 11 Mar 2007 16:26:23 +0000</pubDate>
		<guid isPermaLink="false">http://jeremy.chatelaine.name/blog/?p=89#comment-2126</guid>
		<description>Cool l'article, moi j'aime bien le passage dans le monde magique de l'assembleur... ^^

Juste une chose, y'a des trucs pour dÃ©bugguer les shaders sous VS2005 ? Ou mÃªme juste avoir du syntax hilightning ? Visual Assist ne le fait pas, je suis obligÃ© d'utiliser FXComposer qui Ã  aussi le bon goÃ»t de vÃ©rifier la syntaxe.

En tout cas, merci pour ce blog</description>
		<content:encoded><![CDATA[<p>Cool l&#8217;article, moi j&#8217;aime bien le passage dans le monde magique de l&#8217;assembleur&#8230; ^^</p>
<p>Juste une chose, y&#8217;a des trucs pour dÃ©bugguer les shaders sous VS2005 ? Ou mÃªme juste avoir du syntax hilightning ? Visual Assist ne le fait pas, je suis obligÃ© d&#8217;utiliser FXComposer qui Ã  aussi le bon goÃ»t de vÃ©rifier la syntaxe.</p>
<p>En tout cas, merci pour ce blog</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: SÃ©Ã -Ã?</title>
		<link>http://jeremy.chatelaine.name/blog/programmation/lart-du-debuggage#comment-2078</link>
		<dc:creator>SÃ©Ã -Ã?</dc:creator>
		<pubDate>Thu, 08 Mar 2007 11:44:19 +0000</pubDate>
		<guid isPermaLink="false">http://jeremy.chatelaine.name/blog/?p=89#comment-2078</guid>
		<description>Oui oui suis la Gille :)

Un bouquin! C'est pas une mauvaise idÃ©e, mais il sera bigrement gros s'il doit donner plein de conseil :)
Mais avec une couleur bien choisi, il pourrait devenir un nouveau livre de chevet comme le red book!</description>
		<content:encoded><![CDATA[<p>Oui oui suis la Gille <img src='http://jeremy.chatelaine.name/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Un bouquin! C&#8217;est pas une mauvaise idÃ©e, mais il sera bigrement gros s&#8217;il doit donner plein de conseil <img src='http://jeremy.chatelaine.name/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /><br />
Mais avec une couleur bien choisi, il pourrait devenir un nouveau livre de chevet comme le red book!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Gilles</title>
		<link>http://jeremy.chatelaine.name/blog/programmation/lart-du-debuggage#comment-2073</link>
		<dc:creator>Gilles</dc:creator>
		<pubDate>Thu, 08 Mar 2007 10:07:23 +0000</pubDate>
		<guid isPermaLink="false">http://jeremy.chatelaine.name/blog/?p=89#comment-2073</guid>
		<description>"PS: je serais ravi de pouvoir faire ce que fait Stephane et dâ??encadrer une classe de programmeursâ?¦ ils apprendraient a vitesse grand V"
Et bien, dÃ©jÃ  rien qu'en lisant ton article..on apprend beaucoup ;)
Pas mal de petits trucs sympas qu'on connaissait pas, d'autres qu'on connaissait..
Pour les assert, on a fait des belles macros, mais personne les utilise :(.
En tout cas, vivement la suite ! A quand le bouquin ?  ;)


@SÃ©Ã -Ã? : tiens ,t lÃ  toi aussi :D</description>
		<content:encoded><![CDATA[<p>&#8220;PS: je serais ravi de pouvoir faire ce que fait Stephane et dâ??encadrer une classe de programmeursâ?¦ ils apprendraient a vitesse grand V&#8221;<br />
Et bien, dÃ©jÃ  rien qu&#8217;en lisant ton article..on apprend beaucoup <img src='http://jeremy.chatelaine.name/blog/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /><br />
Pas mal de petits trucs sympas qu&#8217;on connaissait pas, d&#8217;autres qu&#8217;on connaissait..<br />
Pour les assert, on a fait des belles macros, mais personne les utilise :(.<br />
En tout cas, vivement la suite ! A quand le bouquin ?  <img src='http://jeremy.chatelaine.name/blog/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>@SÃ©Ã -Ã? : tiens ,t lÃ  toi aussi <img src='http://jeremy.chatelaine.name/blog/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: MMoi</title>
		<link>http://jeremy.chatelaine.name/blog/programmation/lart-du-debuggage#comment-2053</link>
		<dc:creator>MMoi</dc:creator>
		<pubDate>Wed, 07 Mar 2007 15:30:32 +0000</pubDate>
		<guid isPermaLink="false">http://jeremy.chatelaine.name/blog/?p=89#comment-2053</guid>
		<description>Pfiu, j'ai encore appris pas mal de choses, et realise une fois de plus (comme si c'etait necessaire ^_^) qu'il reste bien des choses a decouvrir.

Merci ;)</description>
		<content:encoded><![CDATA[<p>Pfiu, j&#8217;ai encore appris pas mal de choses, et realise une fois de plus (comme si c&#8217;etait necessaire ^_^) qu&#8217;il reste bien des choses a decouvrir.</p>
<p>Merci <img src='http://jeremy.chatelaine.name/blog/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: SÃ©Ã -Ã?</title>
		<link>http://jeremy.chatelaine.name/blog/programmation/lart-du-debuggage#comment-2050</link>
		<dc:creator>SÃ©Ã -Ã?</dc:creator>
		<pubDate>Wed, 07 Mar 2007 14:10:45 +0000</pubDate>
		<guid isPermaLink="false">http://jeremy.chatelaine.name/blog/?p=89#comment-2050</guid>
		<description>Super article (encore une fois :))
Ma fois y a plein de truc que je connais pas (et oui debug n'est pas un module de cours helas).
J'attend le prochain avec impatience!</description>
		<content:encoded><![CDATA[<p>Super article (encore une fois :))<br />
Ma fois y a plein de truc que je connais pas (et oui debug n&#8217;est pas un module de cours helas).<br />
J&#8217;attend le prochain avec impatience!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: darjul</title>
		<link>http://jeremy.chatelaine.name/blog/programmation/lart-du-debuggage#comment-1934</link>
		<dc:creator>darjul</dc:creator>
		<pubDate>Tue, 06 Mar 2007 07:34:26 +0000</pubDate>
		<guid isPermaLink="false">http://jeremy.chatelaine.name/blog/?p=89#comment-1934</guid>
		<description>JrÃ©Ã©my,

Les std:string marchent parce que (me semble t-il) crosoft les a intÃ©grÃ© dans l'autoexp.dat depuis ... VS2005 ! En revanche, dÃ¨s que tu encapsules la std:string pour faire ta propre class string, Ã§a ne marche plus et il faut bidouiller l'autoexp.dat pour "faire suivre" la variable membre. Ca prend une ligne, encore faut-il savoir laquelle et savoir que c'est dans ce fichier lÃ  que Ã§a se passe. En gÃ©nÃ©ral, on utilise pas directement les std:string. Enfin je dis en gÃ©nÃ©ral, y'a rien qui nous en empÃªche, mais disons plutÃ´t que c'est ce que j'ai constatÃ© dans plusieurs studios et autres codes source Ã§a et lÃ . L'encapsulation a ses avantages, notamment pour ajouter des tas de fonctions helpers, voire pour pouvoir changer la taille des strings sur 8 ou 16 bits en un define sur tout le projet.

Le ,hr est pas mal, je l'avais presque oubliÃ©, mais faut dire que je l'utilise plus du tout. En fait j'ai une macro du genre DX_DEBUG(hResult) qui fait:

if(FAILED(hResult))\
{\
  TRACE(DXGetErrorString(hResult));\
  TRACE(DXGetErrorDescription(hResult));\
  ASSERT(SUCCEEDED(hResult));\
}

Du coup quand Ã§a Ã©choue, je sais tout de suite pourquoi, pas besoin de jouer du debugger. Ca marche avec n'importe quel HRESULT issu de DirectX.</description>
		<content:encoded><![CDATA[<p>JrÃ©Ã©my,</p>
<p>Les std:string marchent parce que (me semble t-il) crosoft les a intÃ©grÃ© dans l&#8217;autoexp.dat depuis &#8230; VS2005 ! En revanche, dÃ¨s que tu encapsules la std:string pour faire ta propre class string, Ã§a ne marche plus et il faut bidouiller l&#8217;autoexp.dat pour &#8220;faire suivre&#8221; la variable membre. Ca prend une ligne, encore faut-il savoir laquelle et savoir que c&#8217;est dans ce fichier lÃ  que Ã§a se passe. En gÃ©nÃ©ral, on utilise pas directement les std:string. Enfin je dis en gÃ©nÃ©ral, y&#8217;a rien qui nous en empÃªche, mais disons plutÃ´t que c&#8217;est ce que j&#8217;ai constatÃ© dans plusieurs studios et autres codes source Ã§a et lÃ . L&#8217;encapsulation a ses avantages, notamment pour ajouter des tas de fonctions helpers, voire pour pouvoir changer la taille des strings sur 8 ou 16 bits en un define sur tout le projet.</p>
<p>Le ,hr est pas mal, je l&#8217;avais presque oubliÃ©, mais faut dire que je l&#8217;utilise plus du tout. En fait j&#8217;ai une macro du genre DX_DEBUG(hResult) qui fait:</p>
<p>if(FAILED(hResult))\<br />
{\<br />
  TRACE(DXGetErrorString(hResult));\<br />
  TRACE(DXGetErrorDescription(hResult));\<br />
  ASSERT(SUCCEEDED(hResult));\<br />
}</p>
<p>Du coup quand Ã§a Ã©choue, je sais tout de suite pourquoi, pas besoin de jouer du debugger. Ca marche avec n&#8217;importe quel HRESULT issu de DirectX.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jeremy Chatelaine</title>
		<link>http://jeremy.chatelaine.name/blog/programmation/lart-du-debuggage#comment-1920</link>
		<dc:creator>Jeremy Chatelaine</dc:creator>
		<pubDate>Mon, 05 Mar 2007 22:04:08 +0000</pubDate>
		<guid isPermaLink="false">http://jeremy.chatelaine.name/blog/?p=89#comment-1920</guid>
		<description>@drajul:

J'avoue ne pas trop m'embeter avec autoexp.dat, meme si je devrais surement. J'utilise Visual Studio 2005 depuis la premiere BETA (2003 je crois bien) et 2005 affiche peinard les std::string, avant je les utilisais pas hehe :)

Un peu en annexe, on a aussi usertype.dat mais il merde chez moi et je sais pas pourquoi :(, j'ai les boules car pour les shaders c'est vraiment bien.

Merci pour le ,wm que je connaissais pas! J'ai oublie de parler du ,hr que je connaissais par contre et qui grosso modo fait la meme chose avec les codes HRESULT des fonctions.

Ha le fameux NULL == myvariable, je le sais j'arrive juste pas a l'appliquer, ca me frustre a lire :)

PS: je serais ravi de pouvoir faire ce que fait Stephane et d'encadrer une classe de programmeurs... ils apprendraient a vitesse grand V ;)

@Ana : c'est plutot 99% du temps meme! Et je prefere que ca soit mon bug, car c'est BIEN PLUS DUR de changer les libs des autres (comme DirectX) hehe

Lorsque je ferrais l'article suivant je parlerai de .map, thread, debugger temps reel... et pourquoi pas comme le suggerait Stephane des aides au debuggage in-game. Mais bon ca sera pas mon prochain post :)</description>
		<content:encoded><![CDATA[<p>@drajul:</p>
<p>J&#8217;avoue ne pas trop m&#8217;embeter avec autoexp.dat, meme si je devrais surement. J&#8217;utilise Visual Studio 2005 depuis la premiere BETA (2003 je crois bien) et 2005 affiche peinard les std::string, avant je les utilisais pas hehe <img src='http://jeremy.chatelaine.name/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Un peu en annexe, on a aussi usertype.dat mais il merde chez moi et je sais pas pourquoi :(, j&#8217;ai les boules car pour les shaders c&#8217;est vraiment bien.</p>
<p>Merci pour le ,wm que je connaissais pas! J&#8217;ai oublie de parler du ,hr que je connaissais par contre et qui grosso modo fait la meme chose avec les codes HRESULT des fonctions.</p>
<p>Ha le fameux NULL == myvariable, je le sais j&#8217;arrive juste pas a l&#8217;appliquer, ca me frustre a lire <img src='http://jeremy.chatelaine.name/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>PS: je serais ravi de pouvoir faire ce que fait Stephane et d&#8217;encadrer une classe de programmeurs&#8230; ils apprendraient a vitesse grand V <img src='http://jeremy.chatelaine.name/blog/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>@Ana : c&#8217;est plutot 99% du temps meme! Et je prefere que ca soit mon bug, car c&#8217;est BIEN PLUS DUR de changer les libs des autres (comme DirectX) hehe</p>
<p>Lorsque je ferrais l&#8217;article suivant je parlerai de .map, thread, debugger temps reel&#8230; et pourquoi pas comme le suggerait Stephane des aides au debuggage in-game. Mais bon ca sera pas mon prochain post <img src='http://jeremy.chatelaine.name/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: BurgerBob</title>
		<link>http://jeremy.chatelaine.name/blog/programmation/lart-du-debuggage#comment-1908</link>
		<dc:creator>BurgerBob</dc:creator>
		<pubDate>Mon, 05 Mar 2007 12:56:37 +0000</pubDate>
		<guid isPermaLink="false">http://jeremy.chatelaine.name/blog/?p=89#comment-1908</guid>
		<description>L'attente valait le coup !
TrÃ¨s bon article, j'essaierai de me souvenir de toutes ces petites astuces ...
Vivement le prochain, oÃ¹ je vais surement apprendre des trucs qui vont me changer la vie !</description>
		<content:encoded><![CDATA[<p>L&#8217;attente valait le coup !<br />
TrÃ¨s bon article, j&#8217;essaierai de me souvenir de toutes ces petites astuces &#8230;<br />
Vivement le prochain, oÃ¹ je vais surement apprendre des trucs qui vont me changer la vie !</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: AnA</title>
		<link>http://jeremy.chatelaine.name/blog/programmation/lart-du-debuggage#comment-1907</link>
		<dc:creator>AnA</dc:creator>
		<pubDate>Mon, 05 Mar 2007 10:17:39 +0000</pubDate>
		<guid isPermaLink="false">http://jeremy.chatelaine.name/blog/?p=89#comment-1907</guid>
		<description>Article assez interressant, dont je ne retiendaris que 2 choses: L'erreur est ailleurs, toujours a l'endroit ou on ne verifie pas, et ou c'est le plus simple pourtant. Et enfin, c'est de ma faute, (en cause 95% du temps) C'est pour ca que ca fait plaisir de trouver des bugs dans les framework ou autre librairies :). (Vivement un article un peu plus avancÃ© sur le debuggage !)</description>
		<content:encoded><![CDATA[<p>Article assez interressant, dont je ne retiendaris que 2 choses: L&#8217;erreur est ailleurs, toujours a l&#8217;endroit ou on ne verifie pas, et ou c&#8217;est le plus simple pourtant. Et enfin, c&#8217;est de ma faute, (en cause 95% du temps) C&#8217;est pour ca que ca fait plaisir de trouver des bugs dans les framework ou autre librairies :). (Vivement un article un peu plus avancÃ© sur le debuggage !)</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: darjul</title>
		<link>http://jeremy.chatelaine.name/blog/programmation/lart-du-debuggage#comment-1906</link>
		<dc:creator>darjul</dc:creator>
		<pubDate>Mon, 05 Mar 2007 10:17:38 +0000</pubDate>
		<guid isPermaLink="false">http://jeremy.chatelaine.name/blog/?p=89#comment-1906</guid>
		<description>Salut JÃ©rÃ©my,

Concernant l'autoexp.dat, je suis surpris que tu n'aies jamais mis le nez dedans. C'est un truc de base de debug fondamental, principalement pour les std:string, mais il y a d'autres exemples: si tu peux visionner les structures DirectX, c'est parce que le SDK les ajoute dans l'autoexp.dat Ã  l'installation. Un conseil: faire une sauvegarde avant toute modification. Et Ã§a marche sans redÃ©marrer Visual Studio (il faut seulement redÃ©marrer la session de debug et les modifs sont prises en compte Ã  la volÃ©e).

Un autre truc qu'on peut faire dans le genre que tu cites "buffer,5" est "msg.message,wm" oÃ¹ msg est un message windows (de type MSG donc). Ca va tout simplement "traduire" vers le define qui correspond. Par exemple, au lieu de 0x0200, il y aura WM_MOUSEMOVE. TrÃ¨s pratique pour la programmation Windows. Il y a plein d'autres astuces dans ce genre, mais le ,wm est celui que j'utilise le plus souvent.

Un autre truc qu'on ne sait pas souvent: pourquoi rencontre t-on parfois if(0 == var) au lieu du bien plus lisible et logique if(var == 0) ? Au dÃ©but je me disais "ils font chier Ã  Ã©crire Ã§a comme Ã§a", surtout que comme par hasard je rencontrais Ã§a surtout dans les exemples du DirectX SDK... En fait c'est pas pour faire chier le monde, c'est pour Ã©viter un des plus vieux et classiques bugs C/C++ (celui qu'on a tous eu au moins une fois et qui est parfois impossible Ã  voir tellement il est Ã©vident). if(0 = var) ne compile pas, alors que if(var = 0) compile et... ne fait pas du tout ce que l'on voulait ! Finalement quand j'ai compris Ã§a, je m'y suis mis. C'est une habitude Ã  prendre, oui c'est moins lisible, oui on peut s'en passer, mais oui Ã§a en vaut la peine.

PS: ne crie pas trop fort que Java est un langage d'assistÃ©s, tu risques de te faire entendre :)</description>
		<content:encoded><![CDATA[<p>Salut JÃ©rÃ©my,</p>
<p>Concernant l&#8217;autoexp.dat, je suis surpris que tu n&#8217;aies jamais mis le nez dedans. C&#8217;est un truc de base de debug fondamental, principalement pour les std:string, mais il y a d&#8217;autres exemples: si tu peux visionner les structures DirectX, c&#8217;est parce que le SDK les ajoute dans l&#8217;autoexp.dat Ã  l&#8217;installation. Un conseil: faire une sauvegarde avant toute modification. Et Ã§a marche sans redÃ©marrer Visual Studio (il faut seulement redÃ©marrer la session de debug et les modifs sont prises en compte Ã  la volÃ©e).</p>
<p>Un autre truc qu&#8217;on peut faire dans le genre que tu cites &#8220;buffer,5&#8243; est &#8220;msg.message,wm&#8221; oÃ¹ msg est un message windows (de type MSG donc). Ca va tout simplement &#8220;traduire&#8221; vers le define qui correspond. Par exemple, au lieu de 0&#215;0200, il y aura WM_MOUSEMOVE. TrÃ¨s pratique pour la programmation Windows. Il y a plein d&#8217;autres astuces dans ce genre, mais le ,wm est celui que j&#8217;utilise le plus souvent.</p>
<p>Un autre truc qu&#8217;on ne sait pas souvent: pourquoi rencontre t-on parfois if(0 == var) au lieu du bien plus lisible et logique if(var == 0) ? Au dÃ©but je me disais &#8220;ils font chier Ã  Ã©crire Ã§a comme Ã§a&#8221;, surtout que comme par hasard je rencontrais Ã§a surtout dans les exemples du DirectX SDK&#8230; En fait c&#8217;est pas pour faire chier le monde, c&#8217;est pour Ã©viter un des plus vieux et classiques bugs C/C++ (celui qu&#8217;on a tous eu au moins une fois et qui est parfois impossible Ã  voir tellement il est Ã©vident). if(0 = var) ne compile pas, alors que if(var = 0) compile et&#8230; ne fait pas du tout ce que l&#8217;on voulait ! Finalement quand j&#8217;ai compris Ã§a, je m&#8217;y suis mis. C&#8217;est une habitude Ã  prendre, oui c&#8217;est moins lisible, oui on peut s&#8217;en passer, mais oui Ã§a en vaut la peine.</p>
<p>PS: ne crie pas trop fort que Java est un langage d&#8217;assistÃ©s, tu risques de te faire entendre <img src='http://jeremy.chatelaine.name/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: rodounet</title>
		<link>http://jeremy.chatelaine.name/blog/programmation/lart-du-debuggage#comment-1905</link>
		<dc:creator>rodounet</dc:creator>
		<pubDate>Mon, 05 Mar 2007 09:32:47 +0000</pubDate>
		<guid isPermaLink="false">http://jeremy.chatelaine.name/blog/?p=89#comment-1905</guid>
		<description>Bon article Jeremy !

Je suis tout Ã  fait d'accord avec StÃ©phane au niveau des assertions : Ã  utiliser pour les prÃ©/post-conditions (depuis que je le fais, je passe plus de temps Ã  coder qu'Ã  dÃ©bugger :D).

Je dÃ©veloppe la plupart du temps sous linux, les outils sont pas aussi puissants... bah gdb + emacs, Ã§a vaut toujours pas VS. En attendant que je programme sous windows (sous peu normalement!), je rÃ©vise les rÃ¨gles de base ;)</description>
		<content:encoded><![CDATA[<p>Bon article Jeremy !</p>
<p>Je suis tout Ã  fait d&#8217;accord avec StÃ©phane au niveau des assertions : Ã  utiliser pour les prÃ©/post-conditions (depuis que je le fais, je passe plus de temps Ã  coder qu&#8217;Ã  dÃ©bugger :D).</p>
<p>Je dÃ©veloppe la plupart du temps sous linux, les outils sont pas aussi puissants&#8230; bah gdb + emacs, Ã§a vaut toujours pas VS. En attendant que je programme sous windows (sous peu normalement!), je rÃ©vise les rÃ¨gles de base <img src='http://jeremy.chatelaine.name/blog/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: StÃ©phane Becker</title>
		<link>http://jeremy.chatelaine.name/blog/programmation/lart-du-debuggage#comment-1885</link>
		<dc:creator>StÃ©phane Becker</dc:creator>
		<pubDate>Sun, 04 Mar 2007 22:18:12 +0000</pubDate>
		<guid isPermaLink="false">http://jeremy.chatelaine.name/blog/?p=89#comment-1885</guid>
		<description>J'ai du m'endormir sur la fin :)</description>
		<content:encoded><![CDATA[<p>J&#8217;ai du m&#8217;endormir sur la fin <img src='http://jeremy.chatelaine.name/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jeremy Chatelaine</title>
		<link>http://jeremy.chatelaine.name/blog/programmation/lart-du-debuggage#comment-1884</link>
		<dc:creator>Jeremy Chatelaine</dc:creator>
		<pubDate>Sun, 04 Mar 2007 22:00:39 +0000</pubDate>
		<guid isPermaLink="false">http://jeremy.chatelaine.name/blog/?p=89#comment-1884</guid>
		<description>Ho lui il fait dans le rechauffe, je l'ai deja dit dans l'article (ok il est long l'article :))</description>
		<content:encoded><![CDATA[<p>Ho lui il fait dans le rechauffe, je l&#8217;ai deja dit dans l&#8217;article (ok il est long l&#8217;article :))</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: StÃ©phane Becker</title>
		<link>http://jeremy.chatelaine.name/blog/programmation/lart-du-debuggage#comment-1883</link>
		<dc:creator>StÃ©phane Becker</dc:creator>
		<pubDate>Sun, 04 Mar 2007 21:59:32 +0000</pubDate>
		<guid isPermaLink="false">http://jeremy.chatelaine.name/blog/?p=89#comment-1883</guid>
		<description>En fait il y a aussi des grands classiques dont la rÃ©solution est assez connu. Par exemple, si un bug n'arrive qu'en release et pas en debug, c'est sans doute une variable non initialisÃ©e. Typiquement le genre de truc qu'on apprends pas Ã  la Fac.</description>
		<content:encoded><![CDATA[<p>En fait il y a aussi des grands classiques dont la rÃ©solution est assez connu. Par exemple, si un bug n&#8217;arrive qu&#8217;en release et pas en debug, c&#8217;est sans doute une variable non initialisÃ©e. Typiquement le genre de truc qu&#8217;on apprends pas Ã  la Fac.</p>
]]></content:encoded>
	</item>
</channel>
</rss>

