O slideshow foi denunciado.
Utilizamos seu perfil e dados de atividades no LinkedIn para personalizar e exibir anúncios mais relevantes. Altere suas preferências de anúncios quando desejar.

Au secours, mon application est brisée - Ou comment déboguer

Vendredi 16h, la personne au support client reçoit un appel. Votre plus gros client vient de rapporter un bug qui l'empêche d’utiliser votre application. Votre gestionnaire vous talonne, il faut régler ce problème immédiatement.

Les bugs sont inévitables, apprendre à les régler efficacement est primordial. Dans cette présentation, nous parlerons de comment identifier la cause d’un bug, comment le régler, éviter qu’il se reproduise et aussi de comment faciliter les futures sessions de débogage.

  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

Au secours, mon application est brisée - Ou comment déboguer

  1. 1. PHP Québec Novembre 2019 Eric Hogue Au secours, mon application est brisée - Ou comment déboguer 1
  2. 2. If you're good at the debugger it means you spent a lot of time debugging. I don't want you to be good at the debugger. - Uncle Bob 2
  3. 3. Idées préconçues ● Si tu n’utilise pas un débogueurs, tu es un amateur ● Les débogueurs sont pour les paresseux ● Il ne faut jamais déboguer en prod ● ... 3
  4. 4. Les bugs sont innévitables 4
  5. 5. Pourquoi il y a autant de bug? 5
  6. 6. Apprendre à déboguer 6
  7. 7. Bogue 7
  8. 8. Avant de sauter dans le code 8
  9. 9. Travail d’investigation 9
  10. 10. Hypothèse 10
  11. 11. Communication 11
  12. 12. Argent 12
  13. 13. Communication constante 13
  14. 14. Temps 14
  15. 15. Déboguer 15
  16. 16. Reproduire le bug 16
  17. 17. Répliquer la production 17
  18. 18. Changements 18
  19. 19. Logs 19
  20. 20. Les outils 20
  21. 21. PHP ● echo ● die ● var_dump ● print_r ● error_log(print_r($something, true)) ● error_log(__FILE__ . ‘ - ‘ . __LINE__) 21
  22. 22. Charles 22
  23. 23. patreon.com/derickr 23
  24. 24. 24
  25. 25. ● Installer Xdebug ● Configurer Xdebug Installation / Configuration 25
  26. 26. Configurations Xdebug ● xdebug.default_enable ● xdebug.halt_level ● xdebug.remote_enable ● xdebug.remote_autostart ● xdebug.remote_host ● xdebug.remote_connect_back ● xdebug.scream ● Et beaucoup d’autres ○ https://xdebug.org/docs/all_settings 26
  27. 27. Installation / Configuration ● Installer Xdebug ● Configurer Xdebug 27 ● Installer PhpStorm ○ https://www.jetbrains.com/help/phpstorm/configuring-xdebug.html ● Installer une extension dans votre navigateur
  28. 28. Points d’arrêts CTRL-F8 28
  29. 29. Points d’arrêts 29
  30. 30. Écouter les connections 30
  31. 31. Rafraîchir la page 31
  32. 32. Exécution du code ● Exécuter une ligne - F8 ● Entrer dans une méthode - F7 ● Sortir d’une méthode - Shift-F8 ● Relancer l’exécution - F9 32
  33. 33. Inspecter les variables 33
  34. 34. Inspecter les variables 34
  35. 35. Inspecter les variables 35
  36. 36. Diviser et conquérir 36
  37. 37. Pièges ● Oublier le débogueur - Bloquer d’autres scripts / pages ○ composer ○ Même problème avec Charles ● Installer Xdebug en prod ○ xdebug.remote_autostart 37
  38. 38. Pièges ● Oublier le débogueur - Bloquer d’autres scripts / pages ○ composer ○ Même problème avec Charles ● Installer Xdebug en prod ○ xdebug.remote_autostart ● Outils qui ne sont pas à jour ○ JetBrains Toolbox 38
  39. 39. Régler le bug 39
  40. 40. Tests 40
  41. 41. Pas de bébé 41
  42. 42. Trouver la cause première 42
  43. 43. Comment s’améliorer 43
  44. 44. Laissez des traces 44
  45. 45. try {...} catch (Throwable $e) {//vide} 45
  46. 46. Code ● Simple ● Revues de code ● Tests ○ TDD 46
  47. 47. Pratique 47
  48. 48. Regarder quelqu’un de plus expérimenté 48
  49. 49. Eric Hogue http://twitter.com/ehogue https://joind.in/talk/7eb91 Questions? 49
  50. 50. ● Library - a.canvas.of.light - https://www.flickr.com/photos/jhlau/ ● Sherlock Holmes the invisible detective - Matt Brown - https://www.flickr.com/photos/londonmatt/14964181994/ ● Money - Pictures of Money - https://www.flickr.com/photos/pictures-of-money/17123251389/ ● Communications - Maurits Verbiest - https://www.flickr.com/photos/mauritsverbiest/16530871592/ ● Marine Chronometer- Arnold & Dent, No. 1131 - Will Fisher - https://www.flickr.com/photos/fireatwillrva/31370473292/ ● Wiki servers - Domas Mituzas - https://www.flickr.com/photos/midom/423471686 ● Journals - Meagan - https://www.flickr.com/photos/peroshenka/7064964081/ ● cracks in the ice - Zervas - https://flickr.com/photos/zervas/16322567572/ ● Baby Feet - Brian DePalo - https://flickr.com/photos/depalo/15237576137/ ● Roots - eltpics - https://flickr.com/photos/eltpics/14917034121/ ● Traces - Adrien Sifre - https://flickr.com/photos/adriensifre/8403355648/ ● Trading Cards - Minh Hoang - https://flickr.com/photos/minhimalism/5516898844/ ● paired programming east agile - abstract - Lawrence Sinclair - https://www.flickr.com/photos/lws/8319713379/ 50

×