pDI-Tools

Mecanismo de interposición dinámica de código

Gerardo García Peña

Jesús Labarta

Judit Giménez

pDI-Tools: Mecanismo de interposición dinámica de código (Versión 1.0.0) Copyright (C) 2004-2005 Gerardo García Peña

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.1 or any later version published by the Free Software Foundation; with the Back-Cover Texts being Back Cover Text. A copy of the license is included in Apéndice A

Back Cover Text: Visit pDI-Tools on the Web at pDI-Tools Project Page.


Tabla de contenidos
I. Introducción
Prefacio
1. Introducción a la instrumentación
2. DITools
3. Estado del arte
4. Objetivos
5. Desarrollo del proyecto
II. pDI-Tools: documentación del proyecto
1. Fundamentos
1.1. Introducción al ELF
1.2. Descripción y estructura de DITools
1.3. Limitaciones de DITools
2. Trabajo realizado
2.1. Funcionamiento
2.2. Estructura y decisiones de diseño
2.3. Tipos de interposiciones
2.4. Mejoras y extensiones
2.5. Validación
3. Portabilidad e implementación en las diferentes plataformas
3.1. El formato ELF en diferentes sistemas
3.2. Políticas seguidas para obtener un código portable
3.3. Organización del código según la plataforma
3.4. Herramientas
4. Esfuerzo y coste
4.1. Planificación
4.2. Valoración económica del esfuerzo
5. Conclusiones
5.1. Conclusión y valoración
5.2. Trabajo futuro
III. Manual de usuario
6. Configuración de pDI-Tools
6.1. Variables de entorno
6.2. Ficheros de configuración de pDI-Tools
6.3. Ejemplo completo
7. Backends
7.1. Ficheros de comandos
7.2. Tipos de interposiciones
7.3. Estructura de un backend
8. El runtime
8.1. Casos que debería cubrir
8.2. Gestión de "threads" en los "callback"
9. API de pDI-Tools
9.1. beconfig.h - Gestión de ficheros de comandos
9.2. ebeif.h - Interfaz del "Elf Backend"
9.3. log.h - Sistema de "log"
9.4. pdiconfig.h - Gestión de la configuración
9.5. threadid.h - Gestión del "thread id resolver"
IV. Manual de instalación
10. Manual de instalación
10.1. Instalación básica
10.2. Compiladores y opciones
10.3. Directorios y nombres de archivos al instalar
10.4. Características opcionales
10.5. Especificando el tipo de sistema
10.6. Compartiendo los valores por defecto
10.7. Definiendo variables
10.8. Invocación de configure
V. Apéndices
A. GNU Free Documentation License
B. GNU LESSER GENERAL PUBLIC LICENSE
Bibliografía
Índice
Lista de tablas
2-1. Prefijos de los símbolos de pDI-Tools
4-1. Comparación del tiempo estimado y empleado realmente
4-2. Tiempo empleado en cada tarea
4-3. Desglose del coste de pDI-Tools
7-1. Funciones y constantes en backend.h
7-2. Prototipos de funciones en backend.h