Stratos: Punto de Encuentro de Desarrolladores

¡Bienvenido a Stratos!

Acceder

Foros





Segmentation fault al ejecutarse

Iniciado por _CONEJO, 17 de Mayo de 2011, 07:10:17 PM

« anterior - próximo »

_CONEJO

Hola,

Me pasa algo extraño, cuando ejecuto la aplicación directamente me salta el mensaje "Segmentation fault" un pantallazo en negro y cierra la aplicación enseguida, en cambio si lo hago mediante make (make -f Makefile run) se ejecuta perfectamente. No sé qué puede pasar.

Este es el log


+----------------------------------------------------------+
�         CRM32Pro SDK Linux v4.99b (build 2820)           �
�               MegaStorm Systems (c) 2007                 �
�            http://www.megastormsystems.com               �
+----------------------------------------------------------+

� MKAE_PC

� Executing at Tue May 17 18:57:13 2011
� Running on INTEL processor - Core Duo - MMX - SSE
� Selected 'Core/Core2' optimized code path.

� CRM32Pro successfully initiated.




Y este mi Mkaefile


# Genera los ejemplos
PROGNAME=MKAE
PROGNAME1=MKAE
PROGNAME3=GUI
PROGNAME5=VideoPlayer
PROGNAME8=SpriteCollision
PROGNAME9=LogicRenderRates
PROGNAME10=NetChat
PROGNAME11=NetChat2

# Compilador,opciones y ruta de las fuentes
CC=g++
CCFLAGS=-O3 -s -pthread
PATHSRC=src/
PATHOUT=bin/
CRM32Pro=/usr/CRM32Pro/CRM32Pro.so -I/usr/CRM32Pro
X11=-L/usr/X11/lib -lX11 -lXext

# Construccion de ejemplos
all: $(PROGNAME)
$(PROGNAME):
@echo
@echo Generando $(PROGNAME1)...
$(CC) $(CCFLAGS) src/main.cpp src/includes.cpp src/dataTypes.cpp src/Pathfinding.cpp src/GameView.cpp src/MKAELIB.cpp src/Scroll.cpp src/Shape.cpp src/Object.cpp src/Character.cpp src/Game.cpp src/Controller.cpp src/Menu.cpp -o $(PATHOUT)$(PROGNAME1) $(CRM32Pro) $(X11)

@echo
@echo ^__^ END OF COMPILATION  ^__^

clean:
@echo clean ...
@rm -fr bin/MKAE

run:
@echo Running ...
bin/MKAE



complete:
@echo clean ...
@rm -fr bin/MKAE

@echo
@echo Generando $(PROGNAME1)...
$(CC) $(CCFLAGS) src/main.cpp src/includes.cpp src/dataTypes.cpp src/Pathfinding.cpp src/GameView.cpp src/MKAELIB.cpp src/Scroll.cpp src/Shape.cpp src/Object.cpp src/Character.cpp src/Game.cpp src/Controller.cpp src/Menu.cpp -o $(PATHOUT)$(PROGNAME1) $(CRM32Pro) $(X11)

@echo
@echo ^__^ END OF COMPILATION  ^__^

@echo Running ...
bin/MKA


La verdad es que no sé qué puede ser, pero me tiene loco el netbeans al intentar ejecutarlo después de compilarlo, no encuentro la solución ...


Saludos




_CONEJO

Añado algo más de información, esto es lo  que resulta de hacer un debug :



Program received signal SIGSEGV, Segmentation fault.
0xb7e99f73 in CRM32Pro_IPrimitives::PutPixelColor(SDL_Surface*, short, short, unsigned int, unsigned char) () from /usr/CRM32Pro/CRM32Pro.so
(gdb) backtrace
#0  0xb7e99f73 in CRM32Pro_IPrimitives::PutPixelColor(SDL_Surface*, short, short, unsigned int, unsigned char) () from /usr/CRM32Pro/CRM32Pro.so
#1  0xb7e9a1a7 in CRM32Pro_IPrimitives::LineColor(SDL_Surface*, short, short, short, short, unsigned int) () from /usr/CRM32Pro/CRM32Pro.so
#2  0x080507fe in ?? ()
#3  0x0805107a in ?? ()
#4  0x08063f9c in ?? ()
#5  0x0804b25d in ?? ()
#6  0xb7a68e46 in __libc_start_main () from /lib/i686/cmov/libc.so.6
#7  0x08049ca1 in ?? ()


Lo extraño es que como he dicho antes, si lo ejecuto através del Makefile, funciona perfecto (sin tocar el código) si lo hago desde la línea de comandos... falla. Sé que la librería tiene un par de años pero la verdad... no sé qué solución podrá tener esto.

Saludos

TheAzazel

#2
Buenas!

por el trace que has puesto, indica un problema en putpixelcolor... pero muy muy raro, como siempre en estos casos, pega el codigo por aqui y echaremos un vistazo, si no es imposible ;)

La lib tiene anios pero es bastante estable y he estado y sigo reparando bugs si los detecto o alguien me informa. Hay una nueva version a la vuelta de la esquina y liberare el codigo tal y como esta (llevo para hacerlo anios pero como), mucha gente me lo ha pedido y bueno, asi en estos casos podreis depurar mas comodamente vosotros mismos.

Lo dicho, pon por aqui el codigo y veremos que sucede :)
Saludos

PD: mirandolo un poco mas...apesta a que no hay un CRM32Pro.screen valido y pega el pete por eso...






Stratos es un servicio gratuito, cuyos costes se cubren en parte con la publicidad.
Por favor, desactiva el bloqueador de anuncios en esta web para ayudar a que siga adelante.
Muchísimas gracias.