16
UNIDAD IV Depuradores (Debuggers) LI & MSC OSCAR RAMÍREZ CORTÉS SISTEMAS DE PROGRAMACIÓN

UNIDAD IV Depuradores ( Debuggers )

Embed Size (px)

DESCRIPTION

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 . - PowerPoint PPT Presentation

Citation preview

Page 1: UNIDAD IV Depuradores ( Debuggers )

UNIDAD IV

Depuradores (Debuggers)

LI & MSC OSCAR RAMÍREZ CORTÉS

SISTEMAS DE PROGRAMACIÓN

Page 2: UNIDAD IV Depuradores ( Debuggers )

L.I. OSCAR RAMÍREZ CORTÉS/SISTEMAS DE PROGRAMACIÓN

• 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.

Qué es un:Bug – Agujero - Bicho?

Page 3: UNIDAD IV Depuradores ( Debuggers )

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.

Page 4: UNIDAD IV Depuradores ( Debuggers )

L.I. OSCAR RAMÍREZ CORTÉS/SISTEMAS DE PROGRAMACIÓN

• DBG (debugger de PHP) • DEBUG DOS Command • Eclipse • GoBug symbolic (debugger para Windows)• GNU Debugger (GDB) • Java Platform Debugger Architecture • JSwat, open-source Java debugger • Turbo Debugger • WinDbg

• CCleaner• VB Watch Debugger for Visual Basic 6.0 • Visual Studio Debugger

Algunos EjemplosDe Herramientas y Programas

Page 5: UNIDAD IV Depuradores ( Debuggers )

L.I. OSCAR RAMÍREZ CORTÉS/SISTEMAS DE PROGRAMACIÓN

DEBUGGERSAmbiente Visual y MSDOS

Page 6: UNIDAD IV Depuradores ( Debuggers )

L.I. OSCAR RAMÍREZ CORTÉS/SISTEMAS DE PROGRAMACIÓN

Entonces elDebugging 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).

Page 7: UNIDAD IV Depuradores ( Debuggers )

L.I. OSCAR RAMÍREZ CORTÉS/SISTEMAS DE PROGRAMACIÓN

DepuraciónPreventiva (Programación)

• Lectura de lo codificado.

• Casos de prueba.

• Aislar errores.

• Rastreo.

• Sesiones de evaluación

Page 8: UNIDAD IV Depuradores ( Debuggers )

L.I. OSCAR RAMÍREZ CORTÉS/SISTEMAS DE PROGRAMACIÓN

Reacciones ante el Proceso de Depuración…

Page 9: UNIDAD IV Depuradores ( Debuggers )

L.I. OSCAR RAMÍREZ CORTÉS/SISTEMAS DE PROGRAMACIÓN

Qué es unBreakpoint – 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.

Page 10: UNIDAD IV Depuradores ( Debuggers )

L.I. OSCAR RAMÍREZ CORTÉS/SISTEMAS DE PROGRAMACIÓN

DepuraciónCorrectiva (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.

Page 11: UNIDAD IV Depuradores ( Debuggers )

L.I. OSCAR RAMÍREZ CORTÉS/SISTEMAS DE PROGRAMACIÓN

Software de sistemasO 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 (live debugging), 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.

Page 12: UNIDAD IV Depuradores ( Debuggers )

L.I. OSCAR RAMÍREZ CORTÉS/SISTEMAS DE PROGRAMACIÓN

Software de sistemasO Utilerías Complejas

Page 13: UNIDAD IV Depuradores ( Debuggers )

L.I. OSCAR RAMÍREZ CORTÉS/SISTEMAS DE PROGRAMACIÓN

Software de sistemasO 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.

Page 14: UNIDAD IV Depuradores ( Debuggers )

L.I. OSCAR RAMÍREZ CORTÉS/SISTEMAS DE PROGRAMACIÓN

Y qué son losAnti-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.»

Page 15: UNIDAD IV Depuradores ( Debuggers )

L.I. OSCAR RAMÍREZ CORTÉS/SISTEMAS DE PROGRAMACIÓN

Tecnicas utilizadas porlos 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.

Page 16: UNIDAD IV Depuradores ( Debuggers )

Por su atención

Gracias