Please, help! I'm really out of my mind. My program is a small personal note manager (google for "cintanotes"). On some computers (and, of course, I donβt own them), it crashes with an unhandled exception right after launch. Nothing special can be said about these computers, except that they usually have AMD processors.
Environment: Windows XP, Visual C ++ 2005/2008, raw WinApi.
Here is what Heisenbug knows about:
1) Failure occurs only in the Release version.
2) The crash will disappear as soon as I remove all the things related to GDI.
3) BoundChecker does not complain.
4) A log entry indicates that an accident occurs when a local variable is declared int! How could this be? Memory corruption
Any ideas would be greatly appreciated!
UPDATE: I was able to debug the application on a βfaultyβ PC. Results:
"Unhandled exception at 0x0044a26a in CintaNotes.exe: 0xC000001D: illegal instruction."
and code breaks
0044A26A cvtsi2sd xmm1, dword ptr [esp + 14h]
Thus, it seems that the problem was in the compiler option "Code Generation / Enable Extended Instruction Set". It was configured on "/ arch: SSE2" and crashed on machines that did not support SSE2. I set this option to "Not set" and the error disappeared. Phew!
Thank you very much for your help!
c ++ debugging winapi crash gdi
Alex Jenter Sep 25 '08 at 8:27 2008-09-25 08:27
source share