RT Generic T1 Depurador declarativo para plataforma .NET A1 Alemany de Aguinaga, Laura A1 Arias Torrijos, Victor Manuel A1 Sánchez Carrillo, Alberto AB El proyecto consiste en la construcción de un Depurador Declarativo para laPlataforma .NET de Microsoft.El Depurador construido es multilenguaje, es decir, acepta aplicacionesimplementadas con los lenguajes pertenecientes a la Plataforma .NET, como C#, VisualBasic, 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), quees traducido a código MSIL (Microsoft Intemediate Language). Al nuevo Ensambladose le añade código instrumentado, permitiendo así que al realizar una nueva ejecución sepueda extraer la traza relativa a lo sucedido durante la misma. Con estos datos se generaun árbol de cómputo en el que cada nodo representa la información en tiempo deejecución de una función del programa.Además, se ha implementado un sistema de localización de errores, queinteractuando con el usuario clasifica los nodos como válidos o inválidos y consiguedeterminar 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 theMicrosoft´s .NET Platform.The Debugger built is multilingual, that is to say, accepts applicationsimplemented 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 theIL code (generated bytes from the .NET´s compiler, Just-in-Time) wich is translatedinto MSIL code (Microsoft Intermediate Language). Orchestrated code is added to thenew Assembly, allowing like this that when making a new execution the relative traceto the happened during the same one can be drawn. With this data a computation tree isgenerated in which each node represents information in execution time about one of theprogram´s function.Moreover, an error location system has been implemented, that interacting withthe user classifies the nodes as valid or invalid and manages to determine which is thecritical function, showing to the user where the mistake is. YR 2008 FD 2008 LK https://hdl.handle.net/20.500.14352/54332 UL https://hdl.handle.net/20.500.14352/54332 LA spa NO Trabajo de clase de la asignatura Sistemas Informáticos (Facultad de Informática, Curso 2007-2008) DS Docta Complutense RD 6 abr 2025