Code::Blocks Forums
User forums => Help => Topic started by: zmarian on August 30, 2006, 05:42:45 pm
-
Hello,
I'm trying to build a minimal screensaver in Windows XP, see code at http://www.osix.net/modules/article/?id=538 . It builds and links with no errors with -Wall, but the window just doesn't open. Debugging doesn't help either -- the code is never reached as the spawned child probably doesn't call the required functions:
---------------
(gdb) break 1
Breakpoint 1 at 0x401290: file main.cpp, line 1.
(gdb) run
Starting program: something.exe
gdb: do_initial_child_stuff: process 2796
gdb: kernel event for pid=2796 tid=3592 code=CREATE_PROCESS_DEBUG_EVENT)
gdb: child_resume.SetThreadContext: thread 2796.0xe08
ContinueDebugEvent (cpid=2796, ctid=3592, DBG_CONTINUE);
gdb: kernel event for pid=2796 tid=3592 code=LOAD_DLL_DEBUG_EVENT)
gdb: child_resume.SetThreadContext: thread 2796.0xe08
ContinueDebugEvent (cpid=2796, ctid=3592, DBG_CONTINUE);
... LOAD_DLL_DEBUG_EVENT repeats ...
ContinueDebugEvent (cpid=2796, ctid=3592, DBG_CONTINUE);
gdb: kernel event for pid=2796 tid=3592 code=EXCEPTION_DEBUG_EVENT)
gdb: Target exception EXCEPTION_BREAKPOINT at 0x7c901230
gdb: child_resume.SetThreadContext: thread 2796.0xe08
ContinueDebugEvent (cpid=2796, ctid=3592, DBG_CONTINUE);
gdb: kernel event for pid=2796 tid=3592 code=EXIT_PROCESS_DEBUG_EVENT)
Program exited normally.
ContinueDebugEvent (cpid=2796, ctid=3592, DBG_CONTINUE);
gdb: child_close, inferior_ptid=3592
---------------
Debugging works for other Win32 applications in C::B.
I have no more ideas what to try, any help much appreciated.
-
Could someone please try to build the sample code and report success/failure.
-
could someone please bring me a six-pack and icecream ... a small pizza weren't too bad too ...
-
8)
I meant someone who has the time etc -- currently this looks like a bug (in libscrnsave?) to me.
-
It's working now. Either
- using C linking (extern "C" {} around function implementations/using filename.c instead of filename.cpp)
- renaming the application from app.exe -> app.scr
helped.
HTH others.
-
I am surprised it works, as the closing brace to if(p_bmp == NULL){ is missing, so you should not be able to compile it at all...
-
This was an obvious issue not worth mentioning.
The interesting point is whether it didn't work because C++ name mangling (of the callback names) or just because of the .exe/.scr extension problem.