Phil,
Not a lot of people are aware of this, so I'm not surprised that
it hasn't been raised yet. When you have the NULL pointer reference
that should trigger an access violation, is it perhaps in a message
handler that has come from a SendMessage call?
In 64-bit Windows (both native 64-bit and WOW64 32-bit programs),
a structured exception that would trigger an unwind to an exception
handler back into kernel mode will simply be "swallowed" by the OS.
If you have a hook, for instance, that requires the SendMessage worker
to transition into kernel mode in order to call a message hook
procedure, and then you cause an AV exception in your handler, the
exception will not be reported. In some cases, however, it will
simply cause the app to be terminated. Other times, it will just be
swallowed. In neither case would it actually allow the NULL pointer
reference to execute.
Scot
phil oakleaf wrote:
I have recently switched to a 64bit Windows platform - we're still
building a 32bit MFC Application.
I have found that some bugs in my code that would happily crash on
32bit windows (Invalid pointers) do not crash on 64bit.
This makes it very hard to know if the code has been debugged
Is there anything I can do about this other than re-install 32bit
Windows
Any ideas will be really appreciated
Phil
we seem to have resolved this by turning on the Win32 exception option.
It looks like on 64bit this is not turned on by default.