Nous présenterons des techniques et outils de debugging classiques et avancées, quand les utiliser, et comment les mettre en pratique de manière systématique.
Dans une première partie, nous présenterons les outils de base communs à tout type de debugger, dans quels cas de figure et comment les utiliser. Dans une second partie, nous présenterons des techniques de debugging avancées, et comment les utiliser pour construire vos propres outils lorsque les debuggers de base ne sont plus adaptés.
Chaque technique sera illustrée par une démonstration et mise en pratique via des exercices, pour lesquels nous utiliserons le langage Pharo.
Programme de l'atelier :
Part 1 - Basic debugging. Expected duration: 40 mins
1. Basic debuggers
2. Halting & Breakpoints
3. (Creating your own) Logging Utility
Part 2 - Advanced debugging. Expected duration: 40 mins
1. Instrumentation with Reflection techniques
2. Scripting your debugger
3. Demo: time-traveling debugging using Seeker, a time-traveling debugger built in Pharo