Hello fellow Codeblockians. Longtime user and crossplatform dev here, though I don't visit the forums much.
I migrated my Windows/SDL project from cygwin to MSVC 10 as I switched computers recently.
Things are getting close to functional, but I've got a crash and the MSVC debugger is being rather uncooperative. I've installed the downloadable version of the Windows 7 SP1 x64 symbols, but it doesn't seem to change my symptoms:
Building to ensure sources are up-to-date
Build succeeded
Selecting target:
Debug
Adding source dir: C:\Projects\Plaidgadget\dev\
Adding source dir: C:\Projects\Plaidgadget\dev\
Changing directory to: game/
Adding file: build\win\Savior-dbg.exe
Starting debugger:
done
Setting breakpoints
Microsoft (R) Windows Debugger Version 6.12.0002.633 AMD64
Copyright (c) Microsoft Corporation. All rights reserved.
CommandLine: build/win/Savior-dbg.exe
Symbol search path is: C:/Projects/Plaidgadget/dev/
Executable search path is:
ModLoad: 00000000`010f0000 00000000`01d77000 Savior-dbg.exe
ModLoad: 00000000`77780000 00000000`77929000 ntdll.dll
ModLoad: 00000000`77960000 00000000`77ae0000 ntdll32.dll
ModLoad: 00000000`73710000 00000000`7374f000 C:\Windows\SYSTEM32\wow64.dll
ModLoad: 00000000`736b0000 00000000`7370c000 C:\Windows\SYSTEM32\wow64win.dll
ModLoad: 00000000`736a0000 00000000`736a8000 C:\Windows\SYSTEM32\wow64cpu.dll
(18a8.42c): Break instruction exception - code 80000003 (first chance)
*** ERROR: Symbol file could not be found. Defaulted to export symbols for ntdll.dll -
ntdll!CsrSetPriorityClass+0x40:
00000000`7782cb60 cc int 3
(the printout halts here and I'm unable to terminate the debugger or start a new session without closing Code::Blocks)
Notable weird things about my setup:
- My debug DLLs and EXE are in a separate location from the program's working directory.
- I use SCONS (a makefile replacement) to build the project rather than Code::Blocks' build system.
EDIT: I set the _NT_SYMBOL_PATH variable (to my installed symbols' location) which solved the failure to load NTDLL.dll symbols, but the hang persists:
Building to ensure sources are up-to-date
Build succeeded
Selecting target:
Debug
Adding source dir: C:\Projects\Plaidgadget\dev\
Adding source dir: C:\Projects\Plaidgadget\dev\
Changing directory to: game/
Adding file: build\win\Savior-dbg.exe
Starting debugger:
done
Setting breakpoints
Microsoft (R) Windows Debugger Version 6.12.0002.633 AMD64
Copyright (c) Microsoft Corporation. All rights reserved.
CommandLine: build/win/Savior-dbg.exe
Symbol search path is: C:/Projects/Plaidgadget/dev/;C:\Symbols\
Executable search path is:
ModLoad: 00000000`010f0000 00000000`01d77000 Savior-dbg.exe
ModLoad: 00000000`77780000 00000000`77929000 ntdll.dll
ModLoad: 00000000`77960000 00000000`77ae0000 ntdll32.dll
ModLoad: 00000000`73710000 00000000`7374f000 C:\Windows\SYSTEM32\wow64.dll
ModLoad: 00000000`736b0000 00000000`7370c000 C:\Windows\SYSTEM32\wow64win.dll
ModLoad: 00000000`736a0000 00000000`736a8000 C:\Windows\SYSTEM32\wow64cpu.dll
(16f4.df0): Break instruction exception - code 80000003 (first chance)
ntdll!LdrpDoDebuggerBreak+0x30:
00000000`7782cb60 cc int 3
Next theory: Is it because it's breaking in SDLmain, and it can't find the source for that function?