My game is HUGE, I cannot easily isolate stuff anymore on it, or go around printing stuff...
And it has a very particular problem: when I attempt to finish the game (either by closing the player, or trying to press the "play" button again while a previous instance of the game was already running) the player crashes...
The problem this also happens with error messages (when a error message try to show up, the player promptly crashes, making it impossible to read the message unless it crashes so hard it freezes the os... then I can read the message, but also need to restart the machine).
Any idea on how I figure what is going on?
Comments
When your OS freezes, maybe you caused some stack overflow or something serious like that?
What about writing a simple Debug class which not only only displays error messages but also saves them with timestamp into a file? The file you could examine even after system reboot.
Greetings
Sebastian
the thing outright crashes when quitting or displaying error messages, there are a way to trap those two events so I can process them first?
is the problem on Desktop?
very sleepy to answer properly right now, but the idea would be to take QT Creator and launch Gideros Desktop player in debug mode in it from the project repo.
Having the source of the player provides great capabilities to debug it
Is the source released already? (last time I checked the topic it was not released yet)
If yes, then you need to turn off any of contact function on Event.APPLICATION_EXIT
If not, then i'm not sure about another else.
Probably memory problem?
And another one, sometime my VGA does say "Nvidia can't render bla-bla-bla" and then the monitor blackened, and player closed.
http://giderosmobile.com/forum/discussion/5243/gideros-source-released#Item_7
I once had something similar, and could not find what was causing, it so debuging through QT gave me a clue, that problem was in Timer class, which why used by my shake function, calling it too many times (it was also tweened to many times) provided a crash, so I implemented a check if already shaking, don't shake anymore, etc.