Aviso: para depositar documentos, por favor, inicia sesión e identifícate con tu cuenta de correo institucional de la UCM con el botón MI CUENTA UCM. No emplees la opción AUTENTICACIÓN CON CONTRASEÑA
 

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

Citation

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.

Research Projects

Organizational Units

Journal Issue

Description

Trabajo de clase de la asignatura Sistemas Informáticos (Facultad de Informática, Curso 2007-2008)

UCM subjects

Unesco subjects

Keywords