[Previo por Fecha] [Siguiente por Fecha] [Previo por Hilo] [Siguiente por Hilo]
[Hilos de Discusión] [Fecha] [Tema] [Autor]Pedro Barbosa wrote: > > Hola, buen día. hola > Tengo un problema con la ejecución de un programa en C para el X Window, con un error de ejecución: > Segmentation fault (core dumped). > > Ya lo revisé y según yo, está bien, espero me podrían decir cual es el posible error, pues no me acepta ninguna función de las que pongo, este es el programita: mira, hay una forma mas "normal" de ver que le pasa a un programa y es utilizando el volcado de memoria del core, algo demasiado engorroso si no tenes muy claro como debe estar tal variable en cada uno de los momentos de la corrida, si es asi, usa el metodo mas "a la que te criaste" que seria este: donde te parezca que puede haber un error, pone un printf a la salida de error y ejecuta ese programa desde una xterm, cuando lo ejecutes, antes del mensaje "core dumped" se habra impreso por la xterm el ultimo mensaje que imprimio, algo asi como "parte 3", te vas a la parte 3 y ves la sentencia anterior, ahi esta el problema, te doy un ejemplo con tu codigo > > #include <X11/Xlib.h> > #include <X11/Xutil.h> > #include <stdio.h> > > main() > { > Display *display; > Window ventana; fprintf(stderr, "parte 1\n"); > > display = XOpenDisplay(NULL); fprintf(stderr, "parte 2\n"); > ventana = XCreateSimpleWindow(display,RootWindow(display,0),50,50,500,400,2,0,1); fprintf(stderr, "parte 3\n"); > XMapWindow(display,ventana); fprintf(stderr, "parte 4\n"); > XFlush(display); fprintf(stderr, "parte 5\n"); > getchar(); > } > > según yo, supongo que el error esta en la variable display, pues el resultado de XOpenDisplay, me regresa un nulo y no le entiendo que ponerle. esta bien el NULL, asi te abre la bentana en el display de tu maquina, o sea: el display seteado en la variable DISPLAY > > O no se si se tengan que definir las variables de ambiente DISPLAY y xhost, pero no se como definirlas. no, esas variables ya estan definidas a la hora de ejecutar el entorno > mira, para mi esta todo bien, lo compilas con -L/usr/X11R6/lib -lX11 supongo... recien lo compile y funciono a la perfeccion... > Por su atención gracias. de nada y suerte > > _____________________________________________________ > En tu idioma correo electrónico se dice CorreoWeb! > GRATIS, tu cuenta con beneficios que NADIE más te da. > ¿Y tú ya tienes CorreoWeb? http://correoweb.com PD: se me ocurre que el programita lo estas ejecutando en un entorno x... -- * ** *** *------------------------ * Dario Nasta * Junin-BsAs-Argentina * dnasta en ciudad com ar *------------------------ *** ** "El que come y no convida, * tiene comida para mañana"