Edit and Continue, Debugging, Options Dialog Box

The Edit and Continue pane of the Options dialog box allows you to set options for Edit and Continue.

Enable Edit and Continue

Select this box to enable Edit and Continue.

Invoked by Debug Commands

When this box is selected, execution commands such as Step can invoke Edit and Continue.

Ask me first

When this box is selected, execution commands open a dialog box before invoking Edit and Continue. This dialog box gives you a chance to cancel Edit and Continue.

Warn me about stale code

In some cases, Edit and Continue cannot apply code changes to the executable immediately, but may be able to apply the code changes later if you continue debugging. This occurs 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. When this happens, the original code continues to execute until the function exits and is called again. Edit and Continue updates the call at that time. Until the call exits, the source window shows the original code in gray. Because this code is has been superceded by code changes, it is outdated or stale. You cannot edit stale code. The debugger warns you about stale code, by default. You can turn the warning off, if you prefer.

Relink after debugging

Edit and Continue does not invoke custom build steps. If your program uses custom build steps, you may want to rebuild manually so that custom build steps can be invoked. In that case, you can disable relinking after Edit and Continue to ensure that you are prompted to manually rebuild.

Allow Precompiling

By default, Edit and Continue loads and processes precompiled headers in the background to speed up processing of code changes. Loading precompiled headers requires allocation of physical memory, which can be a problem if you are compiling on a machine with limited RAM. Under Windows NT or Windows 2000, you can determine if this might be a problem by using the Windows NT Task Manager to determine the amount of available physical memory while you are debugging. If this amount is greater than the size of your precompiled headers, Edit and Continue should have no problem. If the amount is less than the size of your precompiled headers, you can prevent Edit and Continue from loading precompiled headers in the background