Essays.club - Ensayos gratis, notas de cursos, notas de libros, tareas, monografías y trabajos de investigación
Buscar

Como funciona la depuracion y estructuras c+

Enviado por   •  3 de Junio de 2018  •  1.960 Palabras (8 Páginas)  •  207 Visitas

Página 1 de 8

...

- Modos de apertura de archivos binarios.

Al igual que para abrir un archivo de texto, se emplea la misma nomenclatura, con la única diferencia de que se sustituye la t por la b, así:

- “rb”

- “wb”

- “ab”

- “r+b

- “w+b”

- “a+b”

IX DOS FUNCIONES PARA ARCHIVOS BINARIOS

Para lectura y escritura en un buffer de cualquier tipo de dato en archivos binarios se utilizan las funciones fwrite() y fread(). La función fwrite(), escribe de cualquier tipo de dato en un archivo binario. Ahora para leer de un archivo n bloques y almacenar dicha información leída se invoca a la función fread(). Estos son los ejemplos de su sintaxis.

Fwrite (direccionBuffer, tamaño, n , puntero FILE);

fread(direccionBuffer, tamaño, n , puntero FILE);

ESTRUCTURAS

Estructuras La sintaxis para definir una estructura en lenguaje C es la siguiente:

[pic 1]

Es decir, se declara utilizando la palabra reservada struct seguida del nombre de la estructura, entre las llaves se declaran las variables (simples o compuestas) que va a contener la estructura. Debido a que una estructura es un tipo de dato compuesto (compuesta por otras variables), su alcance (o ámbito) está definido por el lugar donde se declara, es decir, una estructura declarada fuera de cualquier función es global (cualquier función puede acceder a ella), una estructura declara dentro de una función solo se puede utilizar dentro de dicha función.

Una vez definida una estructura, es posible crear variables de ese tipo de la siguiente manera:

Una vez definida una estructura, es posible crear variables de ese tipo de la siguiente manera:

Donde nombre de la variable es un identificador. Para acceder a los elementos de la estructura se utiliza el nombre de la variable seguido de un punto seguido del nombre del elemento de la estructura al que se desee acceder, es decir:

var = nombreVariable.nombreElemento;

nombreVariable.nombreElemento = ;

Depuración de programas

Cuando un programa falla, la mayoría de las veces, el compilador envía cierta información que permite determinar dónde se encuentra el problema. Empero, no siempre es así y es más complicado saber dónde falla el programa y cómo corregirlo. En esos casos es mejor ejecutar el programa en un contexto controlado para saber, exactamente, donde está fallando. La depuración se refiere al hecho de poder ejecutar un programa en un ambiente controlado de manera que se pueda estudiar el flujo de ejecución, la pila de llamadas, los valores de las variables, etcétera. Por ejemplo, el siguiente código genera un error al ejecutarse debido a la falta del carácter ampersand cuando se lee el valor numérico:

La mayoría de los entornos de programación permiten depurar programas realizando una ejecución paso a paso y consultar los valores que van tomando las variables, de manera que se puede realizar una traza para detectar dónde y por qué se producen los errores y corregir los mismos. gdb (ventana de comandos) gdb es una aplicación que permite depurar otros programas escritos en cualquier lenguaje de programación pero compilados con gcc (GNU Compiler Collection, antes GNU C Compiler

También se pueden crear puntos de ruptura (breakpoint). Los puntos de ruptura o de interrupción sirven para detener la ejecución de un programa, si un programa falla en cierto pedazo de código, se recomienda establecer un breakpoint para deterner la ejecución en ese punto y ejecutar línea a línea las siguientes instrucciones para ver dónde está el error. Para crear un punto de ruptura se ejecuta el comando b (breakpoint) y el número de línea donde se quiere establecer el punto:

Una vez establecido un punto de ruptura se puede ejecutar el programa (con el comando r) y la ejecución se detendrá justo en el punto establecido.

Cuando el programa se detiene por un punto de ruptura se tienen tres posibilidades: continuar la ejecución, saltar al siguiente paso o saltar a la siguiente línea. Si se desea continuar con la ejecución normal del programa se presiona la tecla c (continue):

Para depurar el programa se debe ejecutar instrucción a instrucción. Si se desea ejecutar la siguiente instrucción se debe presionar la tecla s (si la siguiente instrucción es una llamada a función se ingresará a la misma):

Si se desea ejecutar la siguiente línea de código se puede presionar la tecla n (si el siguiente paso es una llamada a función se ejecuta sin entrar al cuerpo de la misma):

En cualquier momento es posible imprimir el valor de una variable, para ello se utiliza el comando p (print) seguido del nombre de la variable que se desea mostrar:

Para eliminar un punto de ruptura se utiliza el comando delete (d) y el punto a eliminar: (gdb) delete 7 Para mostrar los breakpoints que se han creado en el programa se invoca el comando info breakpoints:

También se puede ignorar un punto de ruptura, es decir, el depurador no se detendrá en ese punto de ruptura. Para ignorar un breakpoint se utiliza el comando ignore y se indica el punto que se desea ignorar:

(gdb) ignore 2

Para salir de gdb se presiona la tecla q o el comando quit:

(gdb) q

Existen varias opciones más de gdb que se pueden ver dentro del manual o en la información del comando:

$ man gdb

$ info gdb

Conclusión

Es de suma importancia conocer el manejo que da lenguaje brinda a sus archivos, además de cuáles son los diferentes tipos de archivos que implementan los lenguajes y cuáles son los más utilizados actualmente

Si deseamos realizar programas donde la información que el usuario ingrese deba ser recuperada y procesada frecuentemente, una buena estructura

...

Descargar como  txt (12.4 Kb)   pdf (57.8 Kb)   docx (17.8 Kb)  
Leer 7 páginas más »
Disponible sólo en Essays.club