Question about debugging

Kailric

Jack of All Trades
Joined
Mar 25, 2008
Messages
3,100
Location
Marooned, Y'isrumgone
I am new to debugging with makefiles and FAssert and stuff but atm I have two simple questions really.

1. While running CIV4 in debug mode and you have your Visual Studio 2008 Express up and running with CIV4 attached to it if you make changes to the code can you somehow save those changes and the game will then be using your new code. That is if you have a failed assert can you fix the code and then continue the game running under the fixed code, if so then how?

2. Also, what is the difference between Build Solution and Build CvGameCoreDLL? They obviously are not doing the exact same thing right.
 
You need to rebuild a new gamecore, and restart the game with the new gamecore for your code changes to take effect.
 
I believe a solution can contain multiple projects, but if you just have the SDK project open then building the solution builds just the SDK (DLL).
 
Save games break if you create new saved items in the read and write streams in any file other then CvInfos (for some reason new read and write stream entries in CvInfos don't break things). Also if you create a new array in CvInfos, things will break, also creating new Enums in CvEnums will break save game compatibility. Other then that I haven't noticed save games being effected by other SDK changes (though I'd hazard a guess creating some new object in CvGlobals will do it to). Other then asserts and being able to attach to the process and all those tools you can use with MSV2008 there is no difference between a debug dll, and a release dll.
 
Save games break if you create new saved items in the read and write streams in any file other then CvInfos (for some reason new read and write stream entries in CvInfos don't break things). Also if you create a new array in CvInfos, things will break, also creating new Enums in CvEnums will break save game compatibility. Other then that I haven't noticed save games being effected by other SDK changes (though I'd hazard a guess creating some new object in CvGlobals will do it to). Other then asserts and being able to attach to the process and all those tools you can use with MSV2008 there is no difference between a debug dll, and a release dll.

Ahh, sweet, thats good to know. That will help out a lot in testing.
 
Back
Top Bottom