Publication:
Depurador declarativo para plataforma .NET

Loading...
Thumbnail Image
Official URL
Full text at PDC
Publication Date
2008
Advisors (or tutors)
Editors
Journal Title
Journal ISSN
Volume Title
Publisher
Citations
Google Scholar
Research Projects
Organizational Units
Journal Issue
Abstract
El proyecto consiste en la construcción de un Depurador Declarativo para la Plataforma .NET de Microsoft. El Depurador construido es multilenguaje, es decir, acepta aplicaciones implementadas con los lenguajes pertenecientes a la Plataforma .NET, como C#, Visual Basic, C++, Fortran, Haskell, Java, Pascal, Perl, Phyton o Smalltalk. Realizando una copia de la estructura de la aplicación por medio de la Reflexión, se obtiene el código IL (bytes generados por el compilador de .NET Just-in-time), que es traducido a código MSIL (Microsoft Intemediate Language). Al nuevo Ensamblado se le añade código instrumentado, permitiendo así que al realizar una nueva ejecución se pueda extraer la traza relativa a lo sucedido durante la misma. Con estos datos se genera un árbol de cómputo en el que cada nodo representa la información en tiempo de ejecución de una función del programa. Además, se ha implementado un sistema de localización de errores, que interactuando con el usuario clasifica los nodos como válidos o inválidos y consigue determinar cuál es la función crítica, mostrando al usuario dónde está el error. [ABSTRACT] The project consists of the construction of a Declarative Debugger for the Microsoft´s .NET Platform. The Debugger built is multilingual, that is to say, accepts applications implemented with the languages belonging to the Platform .NET, like C#, Visual Basic, C++, Fortran, Haskell, Java, Pascal, Perl, Phyton or Smalltalk. Making a copy of the application´s structure by means of Reflection, you get the IL code (generated bytes from the .NET´s compiler, Just-in-Time) wich is translated into MSIL code (Microsoft Intermediate Language). Orchestrated code is added to the new Assembly, allowing like this that when making a new execution the relative trace to the happened during the same one can be drawn. With this data a computation tree is generated in which each node represents information in execution time about one of the program´s function. Moreover, an error location system has been implemented, that interacting with the user classifies the nodes as valid or invalid and manages to determine which is the critical function, showing to the user where the mistake is.
Description
Trabajo de clase de la asignatura Sistemas Informáticos (Facultad de Informática, Curso 2007-2008)
Unesco subjects
Keywords
Citation