I ported my application from VC++7 to VC++9 recently. Now it sometimes crashes at exit - the runtime starts calling global objects destructors and an access violation occurs in one of them.
Whenever I observer the call stack the top functions are:
CMyClass::~CMyClass() <- crashes here
dynamic atexit destructor for 'ObjectName'
_CRT_INIT()
some more runtime-related functions follow
The question is what is the meaning of the word "dynamic" in "dynamic atexit destructor"? Can it provide any additional information to me?