Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
The /Zo (Enhance Optimized Debugging) compiler option adds additional information to .pdb (symbol) files for binaries compiled without the /Od (Disable (Debug)) option.
The /Zo option disables Edit and Continue, as described in How to: Debug Optimized Code.
Apply code changes explicitly
In C++, Edit and Continue can apply code changes in two ways. Code changes can be applied implicitly, when you choose an execution command, or explicitly, using the Apply Code Changes command.
When you apply code changes explicitly, your program remains in break mode - no execution occurs.
- To apply code changes explicitly, on the Debug menu, choose Apply Code Changes.
How to stop code changes
While Edit and Continue is in the process of applying code changes, you can stop the operation.
To stop applying code changes:
On the Debug menu, choose Stop Applying Code Changes.
This menu item is visible only when code changes are being applied.
If you choose this option, none of the code changes are committed.
Reset the point of execution
Some code changes can cause the point of execution to move to a new location when Edit and Continue applies the changes. The feature places the point of execution as accurately as possible, but the results might not be correct in all cases.
In C++, a dialog box informs you when the point of execution changes. You should verify that the location is correct before you continue debugging. If it isn't correct, use the Set Next Statement command. For more information, see Set the next statement to execute.
Work with stale code
In some cases, Edit and Continue can't apply code changes to the executable immediately, but might be able to apply the code changes later if you continue debugging. This scenario happens if you edit a function that calls the current function or if you add more than 64 bytes of new variables to a function on the call stack.
In such cases, the debugger continues executing the original code until the changes can be applied. The stale code appears as a temporary source file window in a separate source window, with a title such as enc25.tmp. The edited source continues to appear in the original source window. If you try to edit the stale code, a warning message appears.