This documentation is archived and is not being maintained.

Supported Code Changes 

This topic applies to:

Visual Studio Edition

Visual Basic

C#

C++

J#

Express

No

No

Yes

No

Standard

No

No

Yes

No

Pro/Team

No

No

Yes

No

Edit and Continue handles most types of code changes. Some changes cannot be applied during program execution, however. To apply these changes, you must halt execution and build a fresh version of the code.

The following C/C++ changes cannot be applied during a debugging session:

  • Most changes to global or static data.

  • Changes to executables that are copied from another machine and not built locally.

  • Changes to a data type that affect the layout of an object, such as data members of a class.

  • Adding more than 64k bytes of new code or data.

  • Adding variables that require a constructor at a point before the instruction pointer.

  • Changes that affect code that requires run-time initialization.

  • Adding exception handlers, in some instances.

  • Changes to resource files.

  • Changes to code in read-only files.

  • Changes to code with no corresponding PDB file.

  • Changes to code that has no object file.

If you make one of these changes and then try to apply code changes, an error or warning message appears in the Output window.

Edit and Continue is not available in the following debugging scenarios:

  • Debugging on Windows 98.

  • Mixed-mode (native/managed) debugging.

  • SQL debugging.

  • Debugging a Dr. Watson dump.

  • Editing code after an unhandled exception, when the "Unwind the call stack on unhandled exceptions" option is not selected.

  • Debugging an embedded runtime application.

  • Debugging an application with Attach to rather than running the application with Start from the Debug menu.

  • Debugging optimized code.

  • Debugging managed code when the target is a 64-bit application. If you want to use Edit and Continue, you must set the target to x86. (Project Properties, Compile tab, Advanced Compiler setting.).

  • Debugging an old version of your code after a new version failed to build due to build errors.

Show: