Complutense University Library

Depurador declarativo para plataforma .NET

Alemany de Aguinaga, Laura and Arias Torrijos, Victor Manuel and Sánchez Carrillo, Alberto (2008) Depurador declarativo para plataforma .NET. [Coursework] (Unpublished)

[img] PDF
650kB
View download statistics for this eprint

==>>> Export to other formats

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.


Item Type:Coursework
Additional Information:

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

Uncontrolled Keywords:Depurador Declarativo, MSIL, Reflexión, Árbol de cómputo, .NET,I LDasm, Reflector
Subjects:Sciences > Computer science > Expert systems (Computer science)
ID Code:9081
Deposited On:05 Jun 2009 07:31
Last Modified:05 Jun 2009 07:31

Repository Staff Only: item control page