Topic: Fallo de segmentaci
hola, hace un buen tiempo estoy tratando de que me funcione un modelo de aplicacion en C.
Son 2 programas uno cliente y otro servidor, donde el cliente llama al servidor y
You are not logged in. Please login or register.
hola, hace un buen tiempo estoy tratando de que me funcione un modelo de aplicacion en C.
Son 2 programas uno cliente y otro servidor, donde el cliente llama al servidor y
A mi me funciona perfectamente.. usando netcat como cliente..
$ gcc server.c -o server
$ ./server
server: got connection from 127.0.0.1
server: got connection from 127.0.0.1
server: got connection from 192.168.117.213En la otra terminal...
$ nc localhost 3490
Hello, world!y tambien con el client.c
$ gcc client.c -o client
$ ./client localhost
Received: Hello, world!No pude reproducir tu problema.. ![]()
El "core dump" es cuando se "cuelga", puede ser por un problema de tu codigo que toor confirmo que no es. Capas estes usando un binario en una distribucion o muy vieja o muy nueva.
Lo mas sencillo que podes hacer es recompilar con
make client
o como hizo toor, despues correle un gdb al core:
gdb core
trace
Saludos
Oliver
tenes permisos para crear archivos en ese directorio?
tenes que compilar con soporte para depuracion, solo asi el binario que "escupe" el gcc es apto para correr con gdb
$ gcc -g server.c -o serverDemas esta decir que tenes que tener gdb instalado ![]()
luego corre desde el gdb:
$ gdb
GNU gdb 6.6-debian
Copyright (C) 2006 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB. Type "show warranty" for details.
This GDB was configured as "i486-linux-gnu".
(gdb)ahi metes:
(gdb) file ./server
Reading symbols from /home/dschulz/Desktop/tests/server...done.
Using host libthread_db library "/lib/tls/i686/cmov/libthread_db.so.1".
(gdb)con el comando file le instruis al gdb a que lea los simbolos de depuracion del archivo ./server, que es el binario que compilaste con el flag -g de gcc. Luego corres la aplicacion propiamente con el comando start:
(gdb) start
Breakpoint 1 at 0x8048605: file server.c, line 15.
Starting program: /home/dschulz/Desktop/tests/server
main () at server.c:15
15 {
(gdb)luego podes ir jugando con gdb y probar a ver que pasa.. por ejemplo.. meterle el comando step hasta que llegas al loop while(1)
y dejale corriendo, mientras en otra terminal le met
Last edited by toor (2007-07-09 20:03:19)
Este es el resultado que tuve corriendo el programa con el gdb:
Todo va bien hasta que llega a la l
Esto es lo que me salio al terminar la ejecucion del programa cliente
0x00002ae39fe8f8e4 in __libc_start_main () from /lib/libc.so.6
(gdb) next
Single stepping until exit from function __libc_start_main,
which has no line number information.
Received:
Program exited normally.
Que linux usas? Podes ver las versiones de libc, gcc, etc.. ?
Powered by PunBB 1.3.4, supported by Informer Technologies, Inc.
Currently used extensions: pun_repository, pun_antispam, pun_bbcode, pun_quote, pun_pm. Copyright © 2008 PunBB