How to: Use Native Run-Time Checks
This topic applies to:
Edition |
Visual Basic |
C# |
F# |
C++ |
Web Developer |
---|---|---|---|---|---|
Express |
Native only |
||||
Pro, Premium, and Ultimate |
Native only |
In Visual C++, you can use native runtime_checks to catch common run-time errors such as:
Stack pointer corruption.
Overruns of local arrays.
Stack corruption.
Dependencies on uninitialized local variables.
Loss of data on an assignment to a shorter variable.
If you use /RTC with an optimized (/O) build, a compiler error results. If you use a runtime_checks pragma in an optimized build, the pragma has no effect.
When you debug a program that has run-time checks enabled, the default action is for the program to stop and break to the debugger when a run-time error occurs. You can change this default behavior for any run-time check. For more information, see Exception Handling (Debugging).
The following procedures describe how to enable native run-time checks in a debug build, and how to modify native run-time check behavior.
Other topics in this section provide information about:
To enable native run-time checks in a debug build
- Use the /RTC option and link with the debug version of a C run-time library (/MDd, for example).
To modify native run-time check behavior
- Use the runtime_checks pragma.
See Also
Tasks
RTC Sample: Run-Time Error Checks