@Kalimakhus
Thanks for clearing up the concept problem in my head
The reality is:
1) The final release build does create a PDB symbol database for the CvGameCoreDLL.dll which indicates that there are symbols being generated even if they cannot be loaded when a break point is set.
2) When you attach to the process, so long as the timestamp is correct for the DLL, the debug symbols for CvGameCoreDLL.dll get loaded. No other symbol database files get loaded.
3) If you try to create a Debug build, there is a mistake in the debug target compiler options in the makefile. There is no option /O0 and it should be /EHsc not EHsc. The Debug build will compile with /O2 /EHsc
4) However the Debug build does not link. There's probably a link option that is not right but not sure yet. Errors spitted out during linking are for example:
CvUnit.obj : error LNK2019: unresolved external symbol "__declspec(dllimport)
The questions are:
1) Do you need a symbol database file (pdb) corresponding to each cpp source file or is there just one big symbol database file for CvGameCoreDLL?
If the former is true, then Final Release is not sufficient for debugging because there is only one pdb database file generated for CvGameCoreDLL. If the latter is true, then Final Release should be good enough to do basic debugging.
2) Why does the debug build in the makefile not link while the Final Release build does link perfectly? There must be some fault in the linking options for the debug build. What would be handy would be to see the make file of a Visual Studio 2003 person not a 2008 person like myself.
Thanks for you help so far! If you are short on time, spare yourself anymore analysis. I am obviously confused and that is the reality.
Cheers.