Re: Weird error during programme startup
- From: "Alex Blekhman" <xfkt@xxxxxxxxx>
- Date: Fri, 8 Dec 2006 12:04:10 +0200
"Andrew Lowe" wrote:
I managed to draw the short straw at work and ended up doing the
twin conversion of ANSI to Unicode and VC++ 6 to VC++ 8. I've finally
gone right through the code and _T("...")'d everywhere, moved stuff into
string tables and so on. I've finally managed to get the whole app to
compile and link and run. Well sort of run. Before the splash screen
appears I get a "standard" error dialogue with the following:
------------------------
Microsoft Visual C++ Debug Library
Debug Assertion Failed
Program: My programme.exe
File: f:\rtm\vctools\vc7libs\ship\atlmfc\include\afxwin1.inl
Line: 24
Blah
Blah
Abort Retry Ignore
------------------------
I managed to get to the call stack and eventually traced this down
to a problem in _initterm() which is in crt0dat.c - MS code that I have
NO IDEA as to what's going on in. As an aside, I've now rebuilt this app
in release mode and the problem no longer exists, but I still need it to
work in debug for obvious reasons. Does anyone have any idea as to what's
going wrong here. I've stepped through the innards of _initterm and it
appears to be doing a whole lot of initialisation - other than that, I'm
stuffed as to whether I can work out what's going on - and wrong.
If anyone has any thoughts on what's going wrong and causing this
dialogue to pop up, it would be greatly appreciated if they could share
the knowledge.
`_initterm' function calls constructors for all static objects in a module. I opened "afxwin1.inl" on my machine and it contains following ASSERT at line 24:
23 _AFXWIN_INLINE HINSTANCE AFXAPI AfxGetResourceHandle()
24 { ASSERT(afxCurrentResourceHandle != NULL); <-- Assert!
25 return afxCurrentResourceHandle; }
Obviously, it won't assert in release builds. You said that you moved all strings to string tables. Can it be the case that some global object tries to access resources from its contructor before all necessary initializations are done?
Alex
.
- Follow-Ups:
- Re: Weird error during programme startup
- From: Andrew Lowe
- Re: Weird error during programme startup
- References:
- Weird error during programme startup
- From: Andrew Lowe
- Weird error during programme startup
- Prev by Date: Re: why the window created in UI thread can't recive message?
- Next by Date: Re: How do you protect your C++ applications?
- Previous by thread: Weird error during programme startup
- Next by thread: Re: Weird error during programme startup
- Index(es):
Relevant Pages
|