A system and method of providing edit and continue support in a software
program debugging environment. "Edit and continue" support allows a user
(e.g., programmer and/or developer) to update the code and/or data
structure(s) of an executing program while it is running. After the user
has finished editing their code and resumes execution, an integrated
development environment (IDE) propagates the edit(s) into a common
language runtime (CLR) environment before continuing. Therefore, from the
CLR environment's perspective, an edit is a block of intermediate
language code (IL) and/or metadata that is inserted into a running
process. Moreover, The IDE can facilitate: determining "legality" of an
edit; building the edit; sending the edit to the CLR environment; and/or,
facilitating the CLR environment switch execution to the edited code.