Not logged in.

Contribution Details

Type Bachelor's Thesis
Scope Discipline-based scholarship
Title Debug Points: A Framework for Advanced Breakpoints in Pharo
Organization Unit
Authors
  • Max Zurbriggen
Supervisors
  • Alberto Bacchelli
  • Marcus Denker
  • Steven Costiou
Language
  • English
Institution University of Zurich
Faculty Faculty of Business, Economics and Informatics
Date 2023
Abstract Text Breakpoints are the widespread tool for developers to enter a debugger. Almost all IDEs offer breakpoints and other versatile tools to find and fix bugs in a general way. However, the available tools may not always prove to be optimal for the task at hand. There are specialized methods for special problems, but the used IDE might not offer the tools for this method. Simultaneously, there usually is no straightforward way to create personalized tools. In this thesis we discuss our approach of creating a framework for breakpoints in Pharo Smalltalk. We call our breakpoints debug points, that can be extended with behaviors that execute when they are triggered. The framework should allow developers to create new behaviors, which can be specialized for certain domains or problems. While creating this new framework we have tried different approaches. We will discuss their benefits and drawbacks as well as the final result. The framework includes an assortment of behaviors that a debug point can have. By implementing these behaviors we show that the framework can be used by developers to create tools that satisfy their specific needs. We also show that behaviors can be created and added as part of external libraries which we expect to facilitate simplified and intuitive debugging.
Zusammenfassung Breakpoints sind ein weit verbreitetes Werkzeug um Debugger zu öffnen. Fast alle IDEs bieten Breakpoints und andere vielseitige Werkzeuge an, um Fehler in einer allgemeinen Weise zu finden und zu beheben. Jedoch erweisen sich die verfügbaren Tools möglicherweise nicht immer als optimal für die jeweilige Aufgabe. Es gibt spezialisierte Methoden für spezielle Probleme, aber die Werkzeuge für diese Methode sind möglicherweise nicht vorhanden. Gleichzeitig gibt es in der Regel keine einfache Möglichkeit, personalisierte Werkzeuge zu erstellen. In dieser Arbeit diskutieren wir unseren Ansatz, ein Framework für Breakpoints in Pharo Smalltalk zu erstellen. Wir nennen unsere Breakpoints Debug Points, die mit Behaviors erweitert werden können, die ausgeführt werden, wenn sie ausgelöst werden. Das Framework soll es Entwicklern ermöglichen, neue Behaviors zu erstellen. Diese können auf bestimmte Domänen oder Probleme spezialisiert sein. Bei der Erstellung dieses Frameworks haben wir verschiedene Ansätze ausprobiert. Wir werden Ihre Vor- und Nachteile sowie das Endergebnis besprechen. Das Framework enthält mehrere Behaviors, die ein Debug Point haben kann. Durch die Implementierung dieser Behaviors zeigen wir, dass das Framework von Entwicklern verwendet werden kann, um Werkzeuge zu erstellen, die ihre spezifischen Anforderungen erfüllen. Wir zeigen auch, dass Verhalten als Teil externer Bibliotheken erstellt und hinzugefügt werden können. Damit erwarten wir, dass sie ein vereinfachtes und intuitives Debugging ermöglichen.
PDF File Download
Export BibTeX