Título: [C][?] Listar procesos en GNU/Linux Publicado por: AleBallesta en 11 Septiembre 2015, 20:50 pm Hola, estoy creando un programa en C que brinde datos sobre el estado actual de un SO GNU/Linux, solo con objetivo educativo ;) . Tengo un problema con la parte que imprime una lista de los procesos en ejecucion. Ya elimine todos los errores y advertencias de compilacion.
Aca va el codigo: Código:
Cuando ejecuto el programa, sale "Violacion de Segmento". Tenia entendido que los archivos que intento leer pueden ser leidos como cualquier otro archivo (busque informacion sobre el tema antes de empezar). Agradezco cualquier aporte, solo quiero aprender. Título: Re: [C][?] Listar procesos en GNU/Linux Publicado por: ivancea96 en 11 Septiembre 2015, 20:54 pm Busca la línea donde está la violación de segmento. Esto lo haces colocando pausas, o colocando salidas por pantalla, hasta aislar el problema. Una vez aislada la linea, mira qué variables utiliza y busca sus definiciones. Mira que estén todas bien inicializadas (en caso de que sea necesario).
Si no encuentras nada, di qué linea es. Título: Re: [C][?] Listar procesos en GNU/Linux Publicado por: AleBallesta en 11 Septiembre 2015, 21:01 pm La violacion de segmento esta en la linea 43:
Código: strcpy(filestr, strcat("/proc/", istr)); Como puede suceder eso en una operacion tan simple como en una union de cadenas? Gracias por responder. Título: Re: [C][?] Listar procesos en GNU/Linux Publicado por: ivancea96 en 11 Septiembre 2015, 21:37 pm strcat concatena a la cadena A la cadena B.
En esa operación, tu cadena A es una constante. Lo mejor es que hagas: Código
Y revisa de paso el resto de concatenaciones. |