Tecnología

Inicio

¿Qué es la depuración de programación C?

¿Qué es la depuración de programación C?


Depuración de un programa básicamente significa encontrar errores y corregirlos. Un "error" es un pequeño error en el código que podría evadir aviso debido a una variedad de factores. Dado que los programas informáticos se han vuelto tan complejos, incluso el error más pequeño puede causar grandes problemas en la línea. Depuración de un programa en C implica el uso de un depurador para ayudar a detectar los errores. Sin embargo, un depurador no es un sustituto para un programador que sabe que debe buscar y capturar los errores.

Comprobación de salida

En los programas más pequeños, probablemente, un programador puede comprobar ciertas salidas para determinar si el estado del programa sigue siendo correcta durante toda la ejecución. En este caso, la inserción de declaraciones de impresión en un programa para mostrar las variables que normalmente no son visibles para el usuario puede garantizar funciona un programa - o hasta qué punto funciona antes de chocar:

int i = 0;

intj;

j = algunaFuncion (i) // hace algún trabajo en la I y devuelve un valor

printf ( "% d", j) // j de impresión para garantizar j es un valor legítimo

C depuradores

Dependiendo del entorno de desarrollo, un programador debe tener software de depuración disponibles para aplicar a cualquier código. Estos programas de "caminar a través de" un programa que se ejecuta, hacer el seguimiento de las variables y condiciones hasta que se produzca un error. Cuando se produce el error, el depurador devolverá información sobre el error. Además, muchos depuradores permiten a los programadores "paso a través" código de una línea a la vez, por lo que el programador puede examinar la ejecución del código. Para los sistemas Linux, el proyecto GNU depurador (gdb) poseen esta funcionalidad (gnu.org/s/gdb), mientras que los programadores de Windows pueden utilizar el depurador incluido en Visual Studio (Microsoft.com/express).

Depuradores y puntos de interrupción

La depuración de software utiliza la idea de "puntos de ruptura", donde un programador puede detener un programa de mitad de ejecución durante la depuración para determinar el estado de código. Por ejemplo, si el código de abajo se bloquea en algún momento, el programador puede no saber dónde o cuándo ocurrió el error.

int i, j;

i = obtieneNumero ();

j = j + i;

j = modificar (i, j);

Podría haber ocurrido en la función obtieneNumero, la función de modificación, o en algún lugar más temprano en el programa principal. Un punto de interrupción puede establecer un lugar donde el código se detiene antes de que el error, de manera que el programador puede evaluar las condiciones antes de que ocurra el error.

Recorrer el código

depuración complejo puede implicar línea que va por la línea a través de código. Una vez que el programador identifica una posible ubicación del error, puede ejecutar la línea de código de programa por línea, hacer el seguimiento del estado del programa hasta que se produzca un error. Esto permite que el programador para señalar la localización exacta del programa, y ​​dar marcha atrás para ver donde las condiciones de error a su origen. En este ejemplo,

i = obtieneNumero ();

j = j + i;

j = modificar (i, j);

si el error se produce en la función de "modificar", a continuación, el programador puede dar marcha atrás, y ella descubrirá que la "i" de recibir un mal valor de "obtieneNumero" y por lo tanto corrupto "modificar".