Method and system for program editing
First Claim
1. A common language runtime environment comprising:
- an assembly comprising an intermediate language component and metadata associated with a source code component;
an edit and continue component that, in response to notification of a change of a function associated with the assembly, provides current position information, and, receives information associated with a new position information, the edit and continue component facilitating execution of the assembly based upon the new position information.
2 Assignments
0 Petitions
Accused Products
Abstract
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. 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.
95 Citations
21 Claims
-
1. A common language runtime environment comprising:
-
an assembly comprising an intermediate language component and metadata associated with a source code component;
an edit and continue component that, in response to notification of a change of a function associated with the assembly, provides current position information, and, receives information associated with a new position information, the edit and continue component facilitating execution of the assembly based upon the new position information. - View Dependent Claims (2, 3)
-
-
4. An integrated development environment comprising:
-
a source code component comprising high-level source code of a computer software program;
a user interface that facilitates debugging of the software program;
an application program interface that facilitates communication between the user and a common language runtime environment running native code associated with the software program, the integrated development environment facilitating editing of the high-level source code, determining legality of an edit, building the edit, if it is determined to be legal, sending information associated with the edited software program to the common language runtime environment, and, facilitating execution of the edited software program in the common language runtime environment. - View Dependent Claims (5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15)
-
-
16. A method facilitating programming editing comprising:
-
receiving a break point event;
requesting edit and continue state information;
receiving an edit to a function of a source code component;
determining whether the edit is legal; and
,if the edit is legal;
committing the change;
receiving a remap break point event;
providing a modified instruction pointer based on the edited function; and
,performing a remap operation. - View Dependent Claims (17, 18, 19, 20)
-
-
21. A method facilitating lifetime of a dependent object comprising:
-
providing a handle pair listing a parent object and a dependent object;
promoting the dependent object, if the parent object is promoted;
clearing the handle if the parent is not promoted; and
,destroying the handle when the parent object is destroyed.
-
Specification