Jared,
On Wed, Apr 15, 2009 at 1:04 AM, Jared Lee Richardson
Hmm, ok then. I have a few more things I'll try tonight(go through the code by hand checking every pointer, etc.)
Even though the Debug build appears to be symptom free you might want to try the _CrtSetDbgFlag(_CRTDBG_CHECK_ALWAYS_DF); approach. If your code is single threaded it should find any heap corruption within your code. If this is truly a Release build only issue then you might want to check the myriad of debug iterator preprocessor defines to ensure they are consistent between your project and the Boost.DateTime version you are using. Have you ensured that _SECURE_SCL=1 in your project for the Release configuration? If your project is fairly small and you are allowed, I would be happy for you to send the Visual Studio solution to my personal email address so that I can take a quick look at it. This might be the fastest way to proceed.
I'm not able to use the crtdbg.h to solve this it looks like- crtdbg is only useful in debug, and the error does not seem to happen in debug(at least, not the same). I tried forcing it to run in debug by changing only the settings required for it - #undef _RELEASE, #define _DEBUG, changed runtime library from Multi-Threaded(/MT) to Multi-Threaded Debug(/MTd), however the program ran fine, no crash(or at least, not in that spot- my assertions triggered because I've removed so much code).
Did you mean Multi-Threaded DLL (/MD) and Multi-Threaded Debug DLL (/MDd)? IIRC the Boost shared libraries build against the shared C runtime by default and these should not be mixed.
I'll post again once I've tried some more things if nothing works.
Thanks much Marshall and Neil.
Jared
I hope this helps, Neil Groves