[SOLVED] Weird Crash on Run
-
My application is built on: Qt 4.7.4 for Desktop - MinGW 4.4
When I run my application , at some point I get:
Problem Event Name: APPCRASH
...
Application Version: 0.0.0.0
...
Fault Module Name: StackHash_0a9e
I checked online for this particular Fault Module Name , and all talks were related to Vista/Windows 7 (DEP) data execution prevention,and that Changing the settings to allow it will work etc , tried it , doesn't work here.Now the weird part is that when I debug my code in Qt. Creator, everything works just fine and the app doesn't crash, also a couple of days ago the app was running just fine, I can't figure out what really changed or what is causing this.
The error doesn't appear randomly I can replicate it every time I run the app.I'm open for ideas and suggestions since I think I'm at a dead end. Any help is appreciated , thank you.
-
What DerManu means is, read this: http://www.catb.org/esr/faqs/smart-questions.html
[quote]The error doesn’t appear randomly I can replicate it every time I run the app.[/quote]That's a good thing, because the bug can be tracked down systematically. (Randomly-appearing bugs are a pain to track down, by comparison) Just describe what you do to repicate that crash, and we might be able to help you pinpoint it.
[quote]Now the weird part is that when I debug my code in Qt. Creator, everything works just fine and the app doesn’t crash[/quote]Sounds like a Heisenbug (http://en.wikipedia.org/wiki/Heisenbug ). This is often a sign of illegal memory access (e.g. your code uses an uninitialized/deleted pointer, or you performed pointer arithmetic on a function pointer). That would also explain why the DEP is activating -- Windows is stopping your program from doing things to the memory that it's not allowed to.
When you say you "debug your code", does that involve GDB, or just the debug-mode build?
-
Wow JKSH that was really helpful :D , thank you.
It wasn't my code that was doing this directly , I replaced a .DLL library I was using with an older one and everything is working just fine. I guess there was an uninitialized pointer somewhere out there.
Thanks for the links , they're pretty interesting.
And DerManu I will ask better questions :)
Thank you for your time fellas. -
You're welcome. :) By the way, I'm sure the author of that DLL would appreciate a bug report too.