2 Et si Sherlock Holmes faisait du debugging LAN401 – Microsoft Techdays 9 février 2011 –...

60

Transcript of 2 Et si Sherlock Holmes faisait du debugging LAN401 – Microsoft Techdays 9 février 2011 –...

Page 1: 2 Et si Sherlock Holmes faisait du debugging LAN401 – Microsoft Techdays 9 février 2011 – 11h-12h Gilles Guimard Julien Crozon.
Page 2: 2 Et si Sherlock Holmes faisait du debugging LAN401 – Microsoft Techdays 9 février 2011 – 11h-12h Gilles Guimard Julien Crozon.

2

Et si Sherlock Holmes faisait du debugging

LAN401 – Microsoft Techdays9 février 2011 – 11h-12h

Gilles Guimard

Julien Crozon

Page 3: 2 Et si Sherlock Holmes faisait du debugging LAN401 – Microsoft Techdays 9 février 2011 – 11h-12h Gilles Guimard Julien Crozon.

3

Présentation des speakers

Julien CrozonTech lead Société Générale Corporate Investment Bankinghttp://[email protected]

Gilles GuimardApplication Dev ManagerMicrosoft Francehttp://blogs.msdn.com/gillesg/[email protected]

Page 4: 2 Et si Sherlock Holmes faisait du debugging LAN401 – Microsoft Techdays 9 février 2011 – 11h-12h Gilles Guimard Julien Crozon.

444

Microsoft Services:Un accompagnement global de nos clients

Architecture & PlanningPlanification

Conseil et ProjetsDéploiement et adoption

SupportOptimisation et Opération

Evaluation

Planification

Développement

Déploiement

Stabilisation

Opérations

Support

Support Premier

Enterprise StrategyConsulting Services

Division Services France 2010

• 180 Consultants• 125 Technical Account Managers • 190 Ingénieurs Support• 17 Responsables de Mission• 41 Partenaires référencés

www.microsoft.fr/services

Division Services Monde 2010

• 82 pays couverts• 18 000 employés• 35 000 partenaires• 44 langues parlées par nos ingénieurs

Page 5: 2 Et si Sherlock Holmes faisait du debugging LAN401 – Microsoft Techdays 9 février 2011 – 11h-12h Gilles Guimard Julien Crozon.

555

Criticité du projet

Maturité de la technologie

Partenaires

Notre engagement auprès de nos partenaires est : • De leur assurer un transfert d’expertise,• De leur apporter notre support sur les

dernières technologies, • De leur donner accès aux meilleures

pratiques de mise en œuvre et de support.

Nos clients et partenaires sont particulièrement satisfaits par…

• Le niveau d’engagement des consultants : 94%• La gestion de l’équipe de projet : 92%• Les compétences techniques des consultants : 91%• La relation avec les équipes du client : 90%

Notre positionnement est d’intervenir sur les projets critiques et les technologies récentes

Page 6: 2 Et si Sherlock Holmes faisait du debugging LAN401 – Microsoft Techdays 9 février 2011 – 11h-12h Gilles Guimard Julien Crozon.

6

De quoi va-t-on parler ?

De la philosophie de l’enquêteurDes outils indispensables à tout détectiveinformatiqueDes recettes pragmatiques pour débusquer lesbugsDes crimes les plus courants

Page 7: 2 Et si Sherlock Holmes faisait du debugging LAN401 – Microsoft Techdays 9 février 2011 – 11h-12h Gilles Guimard Julien Crozon.

7

Où l’on ressent le désarroi du développeur

« Je comprends pas, ça marchait chez moi… »

Un développeur souhaitant rester anonyme

Démo

Page 8: 2 Et si Sherlock Holmes faisait du debugging LAN401 – Microsoft Techdays 9 février 2011 – 11h-12h Gilles Guimard Julien Crozon.

8

Qu’est-ce qu’un bug ?

Comment les traque-t-on ?

Les trois outils principaux de l’apprenti détective

Travaux pratiques : la mort du processus

Travaux pratiques : le vol de temps

Page 9: 2 Et si Sherlock Holmes faisait du debugging LAN401 – Microsoft Techdays 9 février 2011 – 11h-12h Gilles Guimard Julien Crozon.

9

Où l’on parle de bugs (et de la meilleure façon de les traquer)

« …un fait hors de l’ordinaire est plutôt un indice qu’un embarras… »

Sir Arthur Conan Doyle

« Un bon bug est un bug mort »

General Lee

Page 10: 2 Et si Sherlock Holmes faisait du debugging LAN401 – Microsoft Techdays 9 février 2011 – 11h-12h Gilles Guimard Julien Crozon.

10

Un bug est avant tout…

Oui mais pourquoi faire ?

Un dysfonctionnement ?

Une source d’ennui ?

La meilleure façon de rester tard le soir ?

NON !Un bug est une excellente occasion de devenir un meilleur chasseur de bug

Page 11: 2 Et si Sherlock Holmes faisait du debugging LAN401 – Microsoft Techdays 9 février 2011 – 11h-12h Gilles Guimard Julien Crozon.

11

Pour l’argent

Un bon détective est mieux payéA des arguments lors des négociations salariales> « Si je n’avais pas été là… »

Page 12: 2 Et si Sherlock Holmes faisait du debugging LAN401 – Microsoft Techdays 9 février 2011 – 11h-12h Gilles Guimard Julien Crozon.

Pour la gloire

Un bon détective obtient la reconnaissance de ses collègues

Détenteur d’une sagesse : « celui qui sait »Plus on chasse les bugs, plus on apprend à les chasser

Page 13: 2 Et si Sherlock Holmes faisait du debugging LAN401 – Microsoft Techdays 9 février 2011 – 11h-12h Gilles Guimard Julien Crozon.

13

Pour le bonheur

Un bon détective est plus heureuxEtant sur de ses capacités, il subit moins de stressEtant plus rapide à trouver les coupables, il rentre moins tard

Vie personnelle plus épanouie

Page 14: 2 Et si Sherlock Holmes faisait du debugging LAN401 – Microsoft Techdays 9 février 2011 – 11h-12h Gilles Guimard Julien Crozon.

14

Qu’est-ce qu’un bug ?

Comment les traque-t-on ?

Les trois outils principaux de l’apprenti détective

Travaux pratiques : la mort du processus

Travaux pratiques : le vol de temps

Page 15: 2 Et si Sherlock Holmes faisait du debugging LAN401 – Microsoft Techdays 9 février 2011 – 11h-12h Gilles Guimard Julien Crozon.

15

Le secret d’un bon détective…ou les 9 étapes d’une enquête rondement menée

« Rien n’est petit pour un grand esprit »Arthur Conan Doyle

« J’aime qu’un plan se déroule sans accroc »

Colonel John Hannibal

Page 16: 2 Et si Sherlock Holmes faisait du debugging LAN401 – Microsoft Techdays 9 février 2011 – 11h-12h Gilles Guimard Julien Crozon.

16

Etape 1Se préparer

Se concentrerS’assurer d’avoir le temps de se pencher sur le problème (pas de précipitation)Etre zen et avoir une attitude positive

« …[Sherlock Holmes] était en veston d’intérieur, paresseusement étendu sur un sofa ; à portée de sa main une pipe et une pile de journaux… »

Arthur Conan Doyle

Page 17: 2 Et si Sherlock Holmes faisait du debugging LAN401 – Microsoft Techdays 9 février 2011 – 11h-12h Gilles Guimard Julien Crozon.

17

Etape 2Demander la description des symptômes

Personne à joindreDate d’occurrence, date de première occurrenceVersion des binaires/OS/etc.Quels sont les symptômes, et comment les reproduire

Tout se joue à cette réponse ; on caractérise ici les problèmes reproductibles ou intermittents

Y-a-t-il d’autre symptômes en relation« Peut-être me suis-je entrainé à voir ce que d’autres ne voient pas…Sinon d’ailleurs, pourquoi seriez-vous venue me consulter ? »

Arthur Conan Doyle

Page 18: 2 Et si Sherlock Holmes faisait du debugging LAN401 – Microsoft Techdays 9 février 2011 – 11h-12h Gilles Guimard Julien Crozon.

18

Etape 3Reproduire les

symptômes

Ne surtout pas sauter cette étape : c’est la seule qui permettra d’être sûr d’avoir corrigéSi le problème est intermittent, définir un plan qui permettra de valider qu’on a résolu le problème

Si il y a une occurrence toutes les X minutes, la probabilité que le problème ne soit pas apparu après Y minutes est (exemple : pour une fois toutes les 10 minutes, on a 7% de chance que rien ne soit arrivé au bout de 40 minutes, ou 0,25% au bout de 80 minutes)

« Chercher une explication avant de connaitre tous les faits est une erreur capitale. Le jugement s’en trouve faussé. »

Arthur Conan Doyle

Page 19: 2 Et si Sherlock Holmes faisait du debugging LAN401 – Microsoft Techdays 9 février 2011 – 11h-12h Gilles Guimard Julien Crozon.

19

Etape 4Vérifier les taches de

maintenance

Contrôler que toutes les mises à jour ont été faites

BinairesDonnéesEtc.

Page 20: 2 Et si Sherlock Holmes faisait du debugging LAN401 – Microsoft Techdays 9 février 2011 – 11h-12h Gilles Guimard Julien Crozon.

20

Etape 5Débusquer le bug 1/2

Diviser l’espace des possibilitésUne simple recherche par dichotomie

permet en 20 étapes de trouver parmi un million de fonctions laquelle pose problème

« Lorsqu’un fait semble contredire une longue suite de déductions, c’est qu’on l’interprète mal »

Arthur Conan Doyle

Mathématiquement, si on vous donne suffisamment de temps, vous êtes SURS d’y arriver

Page 21: 2 Et si Sherlock Holmes faisait du debugging LAN401 – Microsoft Techdays 9 février 2011 – 11h-12h Gilles Guimard Julien Crozon.

21

Etape 5Débusquer le bug 2/2

Préférer l’analyse du comportement à l’approche différentielleRépondre à “pourquoi ?” plutôt qu’à “qu’est-ce qui a changé ?”

(les deux sont cependant souvent nécessaires)Ne pas hésiter a tester certaines hypothèses

peu probables si elles sont rapides à essayerConnaitre le rasoir d’OckhamRevenir en arrière pour tester une

hypothèse qui semblait peu probableavant, mais qui maintenant parait plusintéressante

« Lorsque vous avez éliminé l’impossible, ce qui reste, si improbable soit-il, est nécessairement la vérité »

Arthur Conan Doyle

Page 22: 2 Et si Sherlock Holmes faisait du debugging LAN401 – Microsoft Techdays 9 février 2011 – 11h-12h Gilles Guimard Julien Crozon.

22

Etape 6Corriger

En exclusivité, les trois niveaux de qualité d’une correction

Niveau 1 : elle marcheNiveau 2 : elle marche et vous savez pourquoi

Niveau 3 : elle marche, vous savez pourquoi, et elle explique tous les comportements du système observés lors des étapes précédentes

Page 23: 2 Et si Sherlock Holmes faisait du debugging LAN401 – Microsoft Techdays 9 février 2011 – 11h-12h Gilles Guimard Julien Crozon.

23

Etape 7Tester que la correction

marche

Rester honnêteNe pas se laisser emporter (pour le moment) par la joie d’avoir peut-être trouvé

Page 24: 2 Et si Sherlock Holmes faisait du debugging LAN401 – Microsoft Techdays 9 février 2011 – 11h-12h Gilles Guimard Julien Crozon.

24

Etape 8Exulter (très fort)

S’autoriser un moment d’autocongratulationRépandre la nouvelle, expliquer comment VOUS avez trouvé le coupableSouvenez-vous où vous avez été bon, où vous auriez pu être meilleur

« Élémentaire mon cher Watson » Sir Arthur Conan Doyle

Page 25: 2 Et si Sherlock Holmes faisait du debugging LAN401 – Microsoft Techdays 9 février 2011 – 11h-12h Gilles Guimard Julien Crozon.

25

Etape 9Prévenir les occurrences

futures

Faire une correction défensive : qu’il soit difficile pour un autre développeur ou utilisateur de le rencontrer de nouveau

Si besoin, automatiser une vérificationDocumenter les symptômes et la correction effectuéeExpliquer comment éviter le problème à l’utilisateur

Page 26: 2 Et si Sherlock Holmes faisait du debugging LAN401 – Microsoft Techdays 9 février 2011 – 11h-12h Gilles Guimard Julien Crozon.

26

Finalement, un bon détective doit être équipé…De son cerveau…et de la connaissance de

quelques outilsD’optimisme (je vais y arriver)

De scepticisme : TOUJOURS vérifier soit même (si possible) les affirmations des autres

De calme : ne pas se laisser envahir par les émotions (colère, stress, etc.)

De pragmatisme : essayer de trouver la meilleure solution en terme de rapidité et de faisabilité

De curiosité (tiens, comment ça marche ?)De ténacité (je vais vraiment y arriver !)

Page 27: 2 Et si Sherlock Holmes faisait du debugging LAN401 – Microsoft Techdays 9 février 2011 – 11h-12h Gilles Guimard Julien Crozon.

27

Qu’est-ce qu’un bug ?

Comment les traque-t-on ?

Les trois outils principaux de l’apprenti détective

Travaux pratiques : la mort du processus

Travaux pratiques : le vol de temps

Page 28: 2 Et si Sherlock Holmes faisait du debugging LAN401 – Microsoft Techdays 9 février 2011 – 11h-12h Gilles Guimard Julien Crozon.

28

Ou l’on découvre trois “outils” que se doit de connaitre tout apprenti détective

Les symbolesLes dumpsLes debuggers

Page 29: 2 Et si Sherlock Holmes faisait du debugging LAN401 – Microsoft Techdays 9 février 2011 – 11h-12h Gilles Guimard Julien Crozon.

29

Les symboles : l’œil de l’ enquêteur (et pourquoi ne peut-on s’en passer)

Page 30: 2 Et si Sherlock Holmes faisait du debugging LAN401 – Microsoft Techdays 9 février 2011 – 11h-12h Gilles Guimard Julien Crozon.

30

Qu’est-ce qu’un symbole ?

Requit pour réaliser une analyse via un debuggerProduit lors du "link" de l'applicationDebug / ReleaseSymboles privés / publicLes symboles de Microsoft

Page 31: 2 Et si Sherlock Holmes faisait du debugging LAN401 – Microsoft Techdays 9 février 2011 – 11h-12h Gilles Guimard Julien Crozon.

31

Construction

Les symboles

La gestion des symbolesLes solutions d'industrialisation

TFS 2010, Symstore, PowerShell…

Serveur de compilationStockage physique des symboles Serveur HTTP SymProxy

Lien symbolique

Page 32: 2 Et si Sherlock Holmes faisait du debugging LAN401 – Microsoft Techdays 9 février 2011 – 11h-12h Gilles Guimard Julien Crozon.

32

Les symboles

La gestion des symbolesLes solutions d'industrialisation

TFS 2010, Symstore, PowerShell…

Debugger

Utilisation

Debugger

Serveur HTTP SymProxyServeur de compilation

Stockage physique des symboles

Serveur de symbole Microsofthttp://msdl.microsoft.com/downaload/symbols

Firewall

Page 33: 2 Et si Sherlock Holmes faisait du debugging LAN401 – Microsoft Techdays 9 février 2011 – 11h-12h Gilles Guimard Julien Crozon.

33

Les symboles

Dans les outilsTools / Options / SymbolsSrv*<Cache>*<Serveur>

Les Outils

Page 34: 2 Et si Sherlock Holmes faisait du debugging LAN401 – Microsoft Techdays 9 février 2011 – 11h-12h Gilles Guimard Julien Crozon.

34

DémoLes symbolesServeur de symbole

SymStore, Visual Studio IDE

Page 35: 2 Et si Sherlock Holmes faisait du debugging LAN401 – Microsoft Techdays 9 février 2011 – 11h-12h Gilles Guimard Julien Crozon.

35

Les dump : des instantanés de la scène de crime

Page 36: 2 Et si Sherlock Holmes faisait du debugging LAN401 – Microsoft Techdays 9 février 2011 – 11h-12h Gilles Guimard Julien Crozon.

36

Qu’est-ce qu’un dump ?

Sous Windows, un fichier avec l’extension .dmpIl contient un instantané de l’état du processus au moment de la prise du dump

On peux choisir de n’avoir que le minimum d’informations (le thread courant et sa callstack), ou toute la mémoireEst utilisé dans l’analyse « post mortem »

Page 37: 2 Et si Sherlock Holmes faisait du debugging LAN401 – Microsoft Techdays 9 février 2011 – 11h-12h Gilles Guimard Julien Crozon.

37

Comment génère-t-on un dump ?

Avec ProcDump de SysInternalsPermet de dumper en cas d’exceptionPermet de dumper a intervalle régulierPermet de dumper quand on consomme trop de CPUEtc.

Avec Process Explorer de SysInternalsClic droit sur un processus, « Create dump »

Avec WinDbgCommande « .dump [/ma] <nom de fichier>»

Avec le Task ManagerClic droit sur un processus, « Create dump file »

Avec Visual StudioMenu « Debug », « Save Dump As… »

Page 38: 2 Et si Sherlock Holmes faisait du debugging LAN401 – Microsoft Techdays 9 février 2011 – 11h-12h Gilles Guimard Julien Crozon.

38

DémoCréer un dump sur exception

ProcDump, Visual Studio IDE

Page 39: 2 Et si Sherlock Holmes faisait du debugging LAN401 – Microsoft Techdays 9 février 2011 – 11h-12h Gilles Guimard Julien Crozon.

39

L’analyse des dumps : un vaste sujet…

722 pages 472 pages 404 pages 424 pages 400 pages

Page 40: 2 Et si Sherlock Holmes faisait du debugging LAN401 – Microsoft Techdays 9 février 2011 – 11h-12h Gilles Guimard Julien Crozon.

40

Les debugger : le microscope électronique du détective

Page 41: 2 Et si Sherlock Holmes faisait du debugging LAN401 – Microsoft Techdays 9 février 2011 – 11h-12h Gilles Guimard Julien Crozon.

41

Les Debugger 

Les Outils

Visual Studio

Debugging Tools for Windows

Windbg.exe, ntsd.exe, cdb.exe

Les fonctionnalités

Debugging interactif (debug Live)

Ouvrir un "dump" mémoire et l'analyser (post mortem)

Debug Local ou via le réseau

Debugging en mode kernel

Nécessite les symbole pour éviter que l’enquête ne dure pas plusieurs semaines, mois?

Page 42: 2 Et si Sherlock Holmes faisait du debugging LAN401 – Microsoft Techdays 9 février 2011 – 11h-12h Gilles Guimard Julien Crozon.

42

Visual Studio 2010

Le Debugger Points d’arrêt conditionnels, trace pointFenêtre de Watch, les Pseudo RegisterFenêtre Immédiate, les commandes de type NTSD

Les nouveautéNouveaux point d’arrêt conditionnels sur des chainesFonctions de débogage multithread et parallèleAnalyse de dump mémoireImportation / exportation de points d'arrêt

Page 43: 2 Et si Sherlock Holmes faisait du debugging LAN401 – Microsoft Techdays 9 février 2011 – 11h-12h Gilles Guimard Julien Crozon.

43

DémoLe debugger de Visual Studio 2010

Visual Studio IDE

Page 44: 2 Et si Sherlock Holmes faisait du debugging LAN401 – Microsoft Techdays 9 février 2011 – 11h-12h Gilles Guimard Julien Crozon.

44

Qu’est-ce qu’un bug ?

Comment les traque-t-on ?

Les trois outils principaux de l’apprenti détective

Travaux pratiques : la mort du processus

Travaux pratiques : le vol de temps

Page 45: 2 Et si Sherlock Holmes faisait du debugging LAN401 – Microsoft Techdays 9 février 2011 – 11h-12h Gilles Guimard Julien Crozon.

45

Crime #1 : la mort du processus

Les leçons de Sherlock Holmes

Page 46: 2 Et si Sherlock Holmes faisait du debugging LAN401 – Microsoft Techdays 9 février 2011 – 11h-12h Gilles Guimard Julien Crozon.

46

Pour quelle raisons un processus peut-il disparaitre ?

Meurtre commandité (appel de kill depuis l’extérieur)

Mort naturelle (fin de la fonction Main)

Suicide (appel de ExitProcess() )

Crime (exception non rattrapée)

Page 47: 2 Et si Sherlock Holmes faisait du debugging LAN401 – Microsoft Techdays 9 février 2011 – 11h-12h Gilles Guimard Julien Crozon.

47

Comme souvent, la façon de trouver le coupable dépend de la nature du crime

ReproductibleS’attacher avec un debuggerSi reproductible uniquement sur le poste client ou sur un serveur (sans debugger d’installé), vous pouvez

Copier les fichiers de debugging distant de Visual Studio (situés dans <répertoire d’installation>\Common7\IDE\<architecture>) et utiliser Visual Studio à distanceUtiliser WinDbg en local ou à distance avec son compagnon cdb.exe

IntermittentProgrammer un dump avec ProcDump

Utiliser l’option –t (dump on Terminate) en cas de fin normaleUtiliser l’option –e (dump on Exception) en cas de fin avec exception

Page 48: 2 Et si Sherlock Holmes faisait du debugging LAN401 – Microsoft Techdays 9 février 2011 – 11h-12h Gilles Guimard Julien Crozon.

48

DémoDebugger le démarrage d’un service

Un truc du docteur Watson

GFlags, Visual Studio Just-in-time Debugger, Visual Studio IDE

Page 49: 2 Et si Sherlock Holmes faisait du debugging LAN401 – Microsoft Techdays 9 février 2011 – 11h-12h Gilles Guimard Julien Crozon.

49

Le cas particulier des arrêts (très) intermittents de processus

Il existe un outil Microsoft qui permet de debugger un logiciel sans intervention humaine : ADPlus

Permet de donner des conditions très spécifiques de créations de dumps (seulement après passage dans telle fonction, seulement si un type particulier d’exception arrive, etc.)Se base sur des scripts de type WinDbgPeut agréger plusieurs surveillances de processus à distance

Livré avec le package « Debugging Tools for Windows »

Page 50: 2 Et si Sherlock Holmes faisait du debugging LAN401 – Microsoft Techdays 9 février 2011 – 11h-12h Gilles Guimard Julien Crozon.

50

Qu’est-ce qu’un bug ?

Comment les traque-t-on ?

Les trois outils principaux de l’apprenti détective

Travaux pratiques : la mort du processus

Travaux pratiques : le vol de temps

Page 51: 2 Et si Sherlock Holmes faisait du debugging LAN401 – Microsoft Techdays 9 février 2011 – 11h-12h Gilles Guimard Julien Crozon.

51

Crime #2 : le vol de temps

Les leçons de Sherlock Holmes

Page 52: 2 Et si Sherlock Holmes faisait du debugging LAN401 – Microsoft Techdays 9 février 2011 – 11h-12h Gilles Guimard Julien Crozon.

52

Une méthode injustement méconnue : le sampling

Consiste a observer périodiquement la callstack d’un processus

N’importe quel visionneur de callstack fait l’affaire :Visual Studio ou WinDbgDes dumps réguliers avec ProcDump, puis ouverture de chaque dumpProcess Explorer

Ne marche que si le problème de performance est clairement localisé dans une fonction

Dans ce cas, la plupart des callstacks comportent cette fonction dans leurs listing

Page 53: 2 Et si Sherlock Holmes faisait du debugging LAN401 – Microsoft Techdays 9 février 2011 – 11h-12h Gilles Guimard Julien Crozon.

53

DémoL’analyse de performance par sampling

Un autre truc du docteur Watson

Process Explorer

Page 54: 2 Et si Sherlock Holmes faisait du debugging LAN401 – Microsoft Techdays 9 février 2011 – 11h-12h Gilles Guimard Julien Crozon.

54

Une autre méthode injustement méconnue : l’observation extérieure du coupable

Consiste a utiliser les outils qui analysent les actions d’un processus

ProcMon de SysInternals pour monitorer les accès aux fichiers, à la base de registres, au réseau, etc…Process Explorer de SysInternals pour les grandes tendances et quelques compteurs de performancePerfMon pour l’observation précise d’un compteur de performance

Page 55: 2 Et si Sherlock Holmes faisait du debugging LAN401 – Microsoft Techdays 9 février 2011 – 11h-12h Gilles Guimard Julien Crozon.

55

DémoQue fait Visual Studio au démarrage ?

ProcMon

Page 56: 2 Et si Sherlock Holmes faisait du debugging LAN401 – Microsoft Techdays 9 février 2011 – 11h-12h Gilles Guimard Julien Crozon.

56

Conclusions…où les conseils (durement appris) de deux debugger professionnels

Page 57: 2 Et si Sherlock Holmes faisait du debugging LAN401 – Microsoft Techdays 9 février 2011 – 11h-12h Gilles Guimard Julien Crozon.

57

1. Etre un bon troubleshooter, c’est une question de méthode

2. Sans symboles, rien n’est facile

3. Chaque heure passée sur du debugging révèle un problème dans le processus de R&D (et coûte très cher…)4. Si vous ne trouvez pas (tout de suite) le bug, prévoyez une solution pour qu’il handicape moins l’utilisateur (sauvegarde de l’état, redémarrage automatique, etc.)

Page 58: 2 Et si Sherlock Holmes faisait du debugging LAN401 – Microsoft Techdays 9 février 2011 – 11h-12h Gilles Guimard Julien Crozon.

58

Sites utilesLes Debugging Tools For Windows

http://www.microsoft.com/whdc/devtools/debugging/default.mspx

SysInternalshttp://technet.microsoft.com/en-us/sysinternals

Les blogsLe blog de Naveen Rinivasan : http://naveensrinivasan.com/Le blog de Mark Russinovich : http://blogs.technet.com/b/markrussinovich/Le blog de John Robbins : http://www.wintellect.com/cs/blogs/jrobbins/default.aspx

Le blog de Tess Ferrandez : http://blogs.msdn.com/b/tess/http://bugslasher.net/

Et si WinDbg vous fait peur…http://windbg.info

La philosophie du troubleshooterhttp://www.troubleshooters.com/tuni.htm

L’œuvre d’un vrai détectivehttp://fr.wikipedia.org/wiki/Sherlock_Holmes

Page 59: 2 Et si Sherlock Holmes faisait du debugging LAN401 – Microsoft Techdays 9 février 2011 – 11h-12h Gilles Guimard Julien Crozon.

59

MSDN et TechNet : l’essentiel des ressources techniques à portée de clic

http://technet.com http://msdn.com

Portail administration et infrastructure pour informaticiens

Portail de ressources technique pour développeurs

Page 60: 2 Et si Sherlock Holmes faisait du debugging LAN401 – Microsoft Techdays 9 février 2011 – 11h-12h Gilles Guimard Julien Crozon.