Domingo 15 de Diciembre de 2024, 10:47
SoloCodigo
Bienvenido(a),
Visitante
. Por favor,
ingresa
o
regístrate
.
¿Perdiste tu
email de activación?
Inicio
Foros
Chat
Ayuda
Buscar
Ingresar
Registrarse
SoloCodigo
»
Foros
»
Programación General
»
C/C++
(Moderador:
Eternal Idol
) »
Re: Segmentation Fault - core dumped
« anterior
próximo »
Imprimir
Páginas: [
1
]
Autor
Tema: Re: Segmentation Fault - core dumped (Leído 7101 veces)
reckba2
Miembro activo
Mensajes: 43
Re: Segmentation Fault - core dumped
«
en:
Jueves 8 de Mayo de 2003, 18:03 »
0
Estoy probando un ejemplo de proceso en Unix y me produce este error: Segmentation Fault - core dumped
Y al compilarlo no hay dramas, a que se deberá este problema?. habra que ajustar el compilador de C?
Saludos
Tweet
JuanK
Miembro de ORO
Mensajes: 5393
Nacionalidad:
Re: Segmentation Fault - core dumped
«
Respuesta #1 en:
Jueves 8 de Mayo de 2003, 18:13 »
0
el problema no es de ajustar el compilador, recuerda que el solo verifica que el programa este bien escrito, mas no verifica que el programa haga lo que tu piensas.. lo más probable es que estes accesando o trabajando mal con algun apuntador o con algun array o cadena.
seria de ayuda si publicas el codigo.
JuanK
[size=109]Juan Carlos Ruiz Pacheco
[/size]
Microsoft Technical Evangelist
@JuanKRuiz
http://juank.io
reckba2
Miembro activo
Mensajes: 43
Re: Segmentation Fault - core dumped
«
Respuesta #2 en:
Jueves 8 de Mayo de 2003, 18:22 »
0
Aquí va el codigo:
/* system.c - Listar los procesos del usuario usando system. */
#include <stdio.h>
#include <stdlib.h>
int main ()
{
int salida; /* Salida del comando */
char comando[100]; /* Comando a ejecutar */
printf ("Ejemplo de system.n");
sprintf (comando, "/bin/ps -fu %s", getenv ("USER"));
salida = system (comando);
printf ("Salida del comando: %dn", salida);
exit (salida);
}
reckba
JuanK
Miembro de ORO
Mensajes: 5393
Nacionalidad:
Re: Segmentation Fault - core dumped
«
Respuesta #3 en:
Jueves 8 de Mayo de 2003, 20:05 »
0
a mi no me arrojo ningun error, pero apuesto a que te lo esta generando por que la cadena esta llenda de basura, usa esto al comienzo:
memset(comando,' ',sizeof(comando));
..Me cuentas como te va.
Juank
[size=109]Juan Carlos Ruiz Pacheco
[/size]
Microsoft Technical Evangelist
@JuanKRuiz
http://juank.io
reckba2
Miembro activo
Mensajes: 43
Re: Segmentation Fault - core dumped
«
Respuesta #4 en:
Jueves 8 de Mayo de 2003, 21:14 »
0
probe, compila bien pero al correr el ejecutable arroja el mismo error
reckva
JuanK
Miembro de ORO
Mensajes: 5393
Nacionalidad:
Re: Segmentation Fault - core dumped
«
Respuesta #5 en:
Jueves 8 de Mayo de 2003, 21:29 »
0
no utilices sprintf, utiliza mejor strcpy, asi sea un poquito mas largo de hacer.
[size=109]Juan Carlos Ruiz Pacheco
[/size]
Microsoft Technical Evangelist
@JuanKRuiz
http://juank.io
reckba2
Miembro activo
Mensajes: 43
Re: Segmentation Fault - core dumped
«
Respuesta #6 en:
Jueves 8 de Mayo de 2003, 21:38 »
0
ahora me arrojo lo siguiente:
cc system.c -o system
system.c: In function `main':
system.c:18: too many arguments to function `strcpy'
Fatal error in /usr/sde/default/usr/lib/gcc/cc1
Exit status 041
el codigo con la midificaciones:
#include <stdio.h>
#include <stdlib.h>
int main ()
{
int salida; /* Salida del comando */
char comando[100]; /* Comando a ejecutar */
memset (comando,' ',sizeof(comando));
printf ("Ejemplo de system.n");
strcpy (comando, "/bin/ls -l %s", getenv ("USER"));
salida = system (comando);
printf ("Salida del comando: %dn", salida);
exit (salida);
}
reckba
JuanK
Miembro de ORO
Mensajes: 5393
Nacionalidad:
Re: Segmentation Fault - core dumped
«
Respuesta #7 en:
Jueves 8 de Mayo de 2003, 21:43 »
0
strcpy( cadena destino , cadena origen );
[size=109]Juan Carlos Ruiz Pacheco
[/size]
Microsoft Technical Evangelist
@JuanKRuiz
http://juank.io
reckba2
Miembro activo
Mensajes: 43
Re: Segmentation Fault - core dumped
«
Respuesta #8 en:
Jueves 8 de Mayo de 2003, 22:39 »
0
Probe de la siguiente forma :
#include <stdio.h>
#include <stdlib.h>
int main ()
{
int salida; /* Salida del comando */
char comando[100]; /* Comando a ejecutar */
memset (comando,' ',sizeof(comando));
printf ("Ejemplo de system.n");
strcpy ("/bin/ls -l %s", comando);
salida = system (comando);
printf ("Salida del comando: %dn", salida);
exit (salida);
}
y este fue el resultado:
$ cc system.c -o system2
$ system2
Ejemplo de system.
Bus Error - core dumped
Reckba
JuanK
Miembro de ORO
Mensajes: 5393
Nacionalidad:
Re: Segmentation Fault - core dumped
«
Respuesta #9 en:
Jueves 8 de Mayo de 2003, 22:48 »
0
prueba con este
...
/* system.c - Listar los procesos del usuario usando system. */
#include <stdio.h>
#include <stdlib.h>
int main ()
{
int salida; /* Salida del comando */
char comando[100]; /* Comando a ejecutar */
printf ("Ejemplo de system.n");
strcpy(comando,"/bin/ps -fu ");
strcat(comando, getenv("USER"));
salida = system (comando);
printf ("Salida del comando: %dn", salida);
exit (salida);
}
juank
[size=109]Juan Carlos Ruiz Pacheco
[/size]
Microsoft Technical Evangelist
@JuanKRuiz
http://juank.io
reckba2
Miembro activo
Mensajes: 43
Re: Segmentation Fault - core dumped
«
Respuesta #10 en:
Jueves 8 de Mayo de 2003, 23:09 »
0
probe:
#include <stdio.h>
#include <stdlib.h>
int main ()
{
int salida; /* Salida del comando */
char comando[100]; /* Comando a ejecutar */
printf ("Ejemplo de system.n");
strcpy(comando,"/bin/ps -fu ");
strcat(comando, getenv("USER"));
salida = system (comando);
printf ("Salida del comando: %dn", salida);
exit (salida);
}
resultado
$ cc system2.c -o system2
$ system2
Ejemplo de system.
Segmentation Fault - core dumped
Reckba
JuanK
Miembro de ORO
Mensajes: 5393
Nacionalidad:
Re: Segmentation Fault - core dumped
«
Respuesta #11 en:
Jueves 8 de Mayo de 2003, 23:14 »
0
..buieno sigamos indagando....
no uses exit.. usa mejor
return salida;
[size=109]Juan Carlos Ruiz Pacheco
[/size]
Microsoft Technical Evangelist
@JuanKRuiz
http://juank.io
reckba2
Miembro activo
Mensajes: 43
Re: Segmentation Fault - core dumped
«
Respuesta #12 en:
Jueves 8 de Mayo de 2003, 23:24 »
0
igual
Reckba
JuanK
Miembro de ORO
Mensajes: 5393
Nacionalidad:
Re: Segmentation Fault - core dumped
«
Respuesta #13 en:
Jueves 8 de Mayo de 2003, 23:33 »
0
probare esta noche el problema en mi casa, sino me funciona en linux te cuento aver que podemos hacer, si me funciona seguramente el problema es de alguna libreria de tu linux..por lo menos hoy lo probe en el emulador de linux y no pme presento problemas.
Juank
[size=109]Juan Carlos Ruiz Pacheco
[/size]
Microsoft Technical Evangelist
@JuanKRuiz
http://juank.io
reckba2
Miembro activo
Mensajes: 43
Re: Segmentation Fault - core dumped
«
Respuesta #14 en:
Jueves 8 de Mayo de 2003, 23:57 »
0
Vale juanK .
Encontre un apunte que te puede ayudar a entender e error
Cualquier programador que trabaje en el entorno C-UNIX conoce y "teme" el clásico mensaje: Segmentation fault (core dumped). Detrás de este mensaje está la detección por parte del sistema operativo de un acceso a memoria inválido (ya sea un acceso a una dirección no asignada o un intento de realizar una operación no permitida sobre una determinada dirección de memoria) y la consiguiente generación de la señal SEGV que, al no ser normalmente capturada por el programa, causa la terminación anómala del mismo.
lo encontre en la siguiente paguina:
http://laurel.datsi.fi.upm.es/~ssoo/DSO ... memon.html
Reckba
JuanK
Miembro de ORO
Mensajes: 5393
Nacionalidad:
Re: Segmentation Fault - core dumped
«
Respuesta #15 en:
Viernes 9 de Mayo de 2003, 00:02 »
0
a eso me referia al principio cuando te comente que el problema se debia a un error de apuntadores, de arrays o de cadenas.. ese error se genera tras una terminacion anomala por las razones que expusiste.
Juank
[size=109]Juan Carlos Ruiz Pacheco
[/size]
Microsoft Technical Evangelist
@JuanKRuiz
http://juank.io
JuanK
Miembro de ORO
Mensajes: 5393
Nacionalidad:
Re: Segmentation Fault - core dumped
«
Respuesta #16 en:
Lunes 12 de Mayo de 2003, 08:21 »
0
Acabo de probar la version original de programa en linux rehat 7.0..
mi version de elrnel es la 2.4.7-10 y no me arrojo ningun error..
Nos queda por probar:
- que compiles y ejecutes desde la sesion del administrador...
-prueba instalando un a version nueva del gcc
-una vez compilado y creado el ejecutable dale todos los permisos
chmod 7777 ejecutable
Me cuentas porfa
Juank
[size=109]Juan Carlos Ruiz Pacheco
[/size]
Microsoft Technical Evangelist
@JuanKRuiz
http://juank.io
reckba2
Miembro activo
Mensajes: 43
Re: Segmentation Fault - core dumped
«
Respuesta #17 en:
Lunes 12 de Mayo de 2003, 17:59 »
0
Hola Juank
Lo hice y me arroja lo mismo, en todo caso me fije que los ejecutables creados estan con todos los permisos.
saludos
reckba
JuanK
Miembro de ORO
Mensajes: 5393
Nacionalidad:
Re: Segmentation Fault - core dumped
«
Respuesta #18 en:
Viernes 16 de Mayo de 2003, 17:48 »
0
Hola, amigo he estado haciendo averiguaciones, pero necesito que me regales lo siguiente:
-version de linux o de unix que usas
-version del kernel
-vesion del gcc
-tipo de procesador..en fin tipo de mauina que tienes
hablamos
chau.
juank
[size=109]Juan Carlos Ruiz Pacheco
[/size]
Microsoft Technical Evangelist
@JuanKRuiz
http://juank.io
gmantil
Miembro MUY activo
Mensajes: 121
Re: Segmentation Fault - core dumped
«
Respuesta #19 en:
Viernes 16 de Mayo de 2003, 20:40 »
0
Hola juank :
He mirado el siguiente programa y en mi máquina no saca ningún error:
#include <stdio.h>
#include <stdlib.h>
int main ()
{
int salida; /* Salida del comando */
char comando[100]; /* Comando a ejecutar */
printf ("Ejemplo de system.n");
strcpy(comando,"/bin/ps -fu ");
strcat(comando, getenv("USER"));
salida = system (comando);
printf ("Salida del comando: %dn", salida);
exit (salida);
}
Yo te recomiendo que compiles sin la línea donde se ejecuta el system, para ver si es allí donde se produce el error. Si el error persiste, regresen el system y quiten otra línea, así hasta poder detectar exactamente en que línea se produce el problema.
Una vez tengan línea del conflicto, podremos revisar que puede estar pasando.
Una cosa que les pido incluir es el encabezado string.h, en algunos sistemas las funciones strcat y strcpy, se encuentran solamente en este encabezado.
Cuentenme como les termina de ir.
gmantil
JuanK
Miembro de ORO
Mensajes: 5393
Nacionalidad:
Segmentation Fault - core dumped
«
Respuesta #20 en:
Viernes 16 de Mayo de 2003, 22:48 »
0
es muy probable que sea pore lo de la libreria, ahora que recuerdo una vez me paso eso con la math, y lo solucione asi....
esperaremos los comentarios de reckba
juank
[size=109]Juan Carlos Ruiz Pacheco
[/size]
Microsoft Technical Evangelist
@JuanKRuiz
http://juank.io
Imprimir
Páginas: [
1
]
« anterior
próximo »
SoloCodigo
»
Foros
»
Programación General
»
C/C++
(Moderador:
Eternal Idol
) »
Re: Segmentation Fault - core dumped