Programación General > C/C++

 Re: FILAS Y COLUMNAS EN C

<< < (2/3) > >>

elpolo:
A ver, supongamos que tengo el siguiente código fuente miPrograma.c

main()
{
.....
//aqui hago una llamada a una función
Escribe_Mens_Fichero_Trazas("miPrograma.c", fila_del_fichero_fuente,"Estoy en el programa principal");
.....
}

Lo que busco es hacer un fichero de trazas que vaya registrando la evolución del programa principal. En este fichero de trazas aparecerá una línea por cada llamada a la funcion Escribe_Mens_Fichero_Trazas("miPrograma.c", fila_del_fichero_fuente,"Estoy en el programa principal")

La linea en el fichero de trazas será
[miPrograma.c: Fila:fila_del_fichero_fuente: Mensaje:Estoy en el programa principal]

El problema es que no se como averiguar la linea donde hago la llamada a la funcion Escribe_Mens_Fichero_Trazas en el codigo fuente

Espero que te haya aclarado esto lo suficiente y q me puedas ayudar

Saludos

gmantil:
Si entendí bien lo que quieres hacer es un interprete que ejecute tu programa y vaya mostrando por que línea de código va pasando?

gmantil

elpolo:
Lo que quiero es saber si existe una funcion de C que me devuelva la linea y columna desde el punto donde yo la invoque: pero en tiempo de ejecucion para poder pasarsela a otra funcion que sea la que me vaya generando la traza del programa

Entendistéis

gothmog:
Yo si entiendo lo q quieres hacer pero no acabo de verle la utilidad. De todos modos no se como se hara, pero para que quieres hacer eso? Si es para depurar, creo que la mayoria los depuradores te permiten detener el proceso en una linea determinada, se detienen si hay errores, avanzan paso a paso, etc.

Astor:
No entiendo del todo aun, si bien comprendo el significado de la fila de un ejecutable no logro hacerlo con el de columna (???).
Podrias por ejemplo entre cada linea incrementar una variable, mejor dicho un puntero que guardas en cierta zona de memoria (por lo que si se incrementa desde la primera linea, va a contener el numero de linea que se esta ejecutando).
El otro programa deberia acceder a la zona de memoria donde lo guardaste y de ahi leer por que linea va.

Podrias usar un grupo de bytes del vector de interrupcion que no esten utilizados (esto siempre y cuando trabajes en modo real).

Navegación

[0] Índice de Mensajes

[#] Página Siguiente

[*] Página Anterior

Ir a la versión completa