180 likes | 317 Views
UNIDAD IV Depuradores ( Debuggers ). LI & MSC OSCAR RAMÍREZ CORTÉS SISTEMAS DE PROGRAMACIÓN. Qué es un: Bug – Agujero - Bicho?. Defecto en un software no descubierto. El proceso para corregirlos se llama debugging .
E N D
UNIDAD IV Depuradores (Debuggers) LI & MSC OSCAR RAMÍREZ CORTÉS SISTEMAS DE PROGRAMACIÓN
Qué es un: Bug – Agujero - Bicho? • Defecto en un software no descubierto. • El proceso para corregirlos se llama debugging. • El debugger de programas ya compilados es conocido como ingeniería inversa. 100% Funcional L.I. OSCAR RAMÍREZ CORTÉS/SISTEMAS DE PROGRAMACIÓN
Qué es un: Depurador - Debugger? Programa con el que podemos ir ejecutando paso a paso las instrucciones de un programa, con la finalidad de darnos cuenta qué es lo que falla y corregirlo. Aplicación o herramienta que permite la ejecución controlada de un programa o un código, para seguir cada instrucción ejecutada y localizar así bugs, códigos de protección, etc. Con un depurador es posible: poner un punto de interrupción, leer y modificar registros, empezar la ejecución del programa, ejecutar un solo paso manualmente, ejecutar una secuencia de pasos mediante simulaciones, evaluar y solucionar problemas ocultos. L.I. OSCAR RAMÍREZ CORTÉS/SISTEMAS DE PROGRAMACIÓN
Algunos Ejemplos De Herramientas y Programas • DBG (debugger de PHP) • DEBUG DOS Command• Eclipse • GoBugsymbolic (debugger para Windows)• GNU Debugger (GDB) • Java PlatformDebuggerArchitecture• JSwat, open-source Java debugger• Turbo Debugger• WinDbg • CCleaner• VB WatchDebuggerfor Visual Basic 6.0 • Visual Studio Debugger L.I. OSCAR RAMÍREZ CORTÉS/SISTEMAS DE PROGRAMACIÓN
DEBUGGERS Ambiente Visual y MSDOS L.I. OSCAR RAMÍREZ CORTÉS/SISTEMAS DE PROGRAMACIÓN
Entonces el Debugging es? Dados ciertos indicios tenemos que encontrar los errores en nuestros programas. Si sabemos qué tipos de situaciones producen los errores en el software, tenemos más probabilidades de detectar y corregir los problemas. «Proceso metodológico para encontrar y reducir bugs (errores) o defectos en un programa incluyendo piezas de hardware.» Podemos considerar dos tipos de depuración: la preventiva (para el caso de desarrollar software) y la correctiva (con programas instalados). L.I. OSCAR RAMÍREZ CORTÉS/SISTEMAS DE PROGRAMACIÓN
Depuración Preventiva (Programación) • Lectura de lo codificado. • Casos de prueba. • Aislar errores. • Rastreo. • Sesiones de evaluación L.I. OSCAR RAMÍREZ CORTÉS/SISTEMAS DE PROGRAMACIÓN
Reacciones ante el Proceso de Depuración… L.I. OSCAR RAMÍREZ CORTÉS/SISTEMAS DE PROGRAMACIÓN
Qué es un Breakpoint – punto de ruptura? El colocar un breakpoint en una línea de código implica que la ejecución del programa se detendrá al llegar a esa línea. Está ligado a un punto de la ejecución. L.I. OSCAR RAMÍREZ CORTÉS/SISTEMAS DE PROGRAMACIÓN
Depuración • Correctiva(Post-Instalación) • Reconocer que ese error existe (un programa puede contener errores que jamás serán detectados). • Aislar la fuente del error. • Identificar la causa del error. • Determinar una solución para el error. • Aplicar la solución (software de sistemas o utilería). • Probar el programa. L.I. OSCAR RAMÍREZ CORTÉS/SISTEMAS DE PROGRAMACIÓN
Software de sistemas • O Utilerías • WinDbg • Microsoft pone a disposición las Debugging Tools for Windows, una suite de aplicaciones y documentación destinadas a la depuración en sistemas Windows. WinDbg es una de éstas herramientas: concretamente es un depurador que nos permite adjuntarnos a procesos de usuario y al kernel del sistema operativo. • Permite tanto la depuración en vivo (livedebugging), que consiste en adjuntarse a un proceso que está en ejecución, como la depuración postmortem, mediante el análisis de volcados de memoria generados por la aplicación o el sistema operativo en momentos determinados. L.I. OSCAR RAMÍREZ CORTÉS/SISTEMAS DE PROGRAMACIÓN
Software de sistemas • O Utilerías Complejas L.I. OSCAR RAMÍREZ CORTÉS/SISTEMAS DE PROGRAMACIÓN
Software de sistemas • O Utilerías de Interfaz Amigable CCleaner «Es una aplicación gratuita, de código cerrado (software no libre), que tiene como propósito mejorar el rendimiento de cualquier equipo que lo ejecute mediante la eliminación de archivos innecesarios, entradas inválidas del Registro de Windows con la posibilidad de desinstalar programas desde su interfaz al igual que inhabilitar la ejecución de aplicaciones en el inicio del sistema con el fin de mejorar la velocidad de arranque del sistema operativo. L.I. OSCAR RAMÍREZ CORTÉS/SISTEMAS DE PROGRAMACIÓN
Y qué son los • Anti-Debuggers? «Un debugger es un programa que puede servir para desensamblar a otro programa y así ver como está hecho por dentro. Los virus usan técnicas para evitar ser desensamblados y así impedir su análisis para la fabricación del antivirus correspondiente. El Anti-debug es un conjunto de técnicas que los virus emplean para impedir ser investigados. Los virus son anti-debuggers que acceden a los códigos traducidos de archivos y programas para autoreproducirse y dañarlos.» L.I. OSCAR RAMÍREZ CORTÉS/SISTEMAS DE PROGRAMACIÓN
Tecnicas utilizadas por • los Anti-Debuggers TECNICAS STEALTH Falsificación de archivos y de interrupciones. TUNNELING Es la técnica que utilizan tanto virus como antivirus para saltarse todas las rutinas al servicio de una interrupción y tener así un control directo sobre dicha interrupción. POLIMORFISMO Se utiliza la encriptación de su código para que de esta forma ningún antivirus lo pueda detectar. L.I. OSCAR RAMÍREZ CORTÉS/SISTEMAS DE PROGRAMACIÓN
Por su atención Gracias