With /Og (global optimization) enabled (default in Release builds), a function's parameters change their addresses if, and only if, the function catches an exception.The addresses of local variables remain unaltered. All function parameters become invalid upon entering the catch block; reading or writing them typically results in an access violation or in a corruption of the program's internal state.In one case, the function parameter's addresses were shifted by +20 bytes, in another, they were rebased to 0x8bffffa0.Disabling global optimization fixes the problem, but results in poor performance.
Visual Studio/Silverlight/Tooling version
What category (if any) best represents this feedback?
Steps to reproduce
Operating System Language