You need to provide a bit more context about your code. That said, I ran into something similar which may be the problem you're having. I had code similar to this: int* pi = NULL; int i = *pi; // Generates an access violation In debug builds, an exception was thrown from my SE handler and caught, but not in release builds. As it turned out, in release builds, the optimiser was correctly removing this code because it had no effect. :doh: Not sure what you're doing, but if it's simple test case like mine, you might want to turn off the optimiser for that block of code: #pragma optimize("", off) Brad