Home Page (Debugger) | Overview | How Do I... Topics
Edit and Continue places a limit of 64 bytes on the total size of the new variables you can add to an active function. (An active function is any function on the call stack—the current function or one of its callers.). There is no limit for functions not currently on the call stack.
Edit and Continue cannot handle some types of code changes. The following changes cannot be applied during the debugging session:
If you make one of these changes and then try to apply code changes, an error message appears in the Output window. Changes to data type definitions, changes to function prototypes, and introductions of new data types produce an error message (C1092). If you choose an execution command (Go or Step) that applies code changes, a dialog box appears as well, explaining your options (for example, building or proceeding with the original 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 exceed the 64-byte limit on new variables for a function on the call stack. It can also occur if you edit a function that calls the current function. Some changes can affect the current call, so Edit and Continue cannot safely apply the change. Instead, it can do either of two things:
Which of these options is best depends on your situation. Edit and Continue gives you the choice. If you make unsupported changes to the calling function and choose Go or Step, the following dialog box appears:
At this point, you can choose what you want to do.
To cancel the execution command
To continue the debugging session, but apply the code changes as soon as possible (when the current call finishes)
If you choose to continue the session, the code changes prevent the debugger from showing you the source for the edited function until the current call finishes.