IP Library › Granted Patent US 8,621,435
Granted Patent B2
US 8,621,435 · App. 12/645,887 · Granted Dec 31, 2013

Time debugging

Inventors: Avner Y. Aharoni (Seattle, WA); Mads Torgersen (Issaquah, WA)
Assignee: Microsoft Corporation
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,621,435
App. No.
12/645,887
Granted
Dec 31, 2013
Kind
B2
Abstract

A design time debugging tool provides debugging information available from the compiler during design time, as if a user were debugging code that provided the debugging information, by exposing information available from the compiler without initiation of a debugging session and without executing the program being debugged.

Claims (39)

1. A system comprising:

a processor of a software development computer;

a memory coupled to the processor;

a design time debugging module loaded into the memory that automatically displays simultaneously during design time of a first program:

source code of the first program in a design time editor, wherein the first program executes within a context of a second program; and

run time debugging information in a design time debugging user interface, the run time debugging information based on data structures or objects associated with an instance of the second program, without executing the first program.

2. The system of claim 1 , wherein the design time editor that generates design time editor events based on user input manipulating the source code of the first program and sends the design time editor events to the design time debugging module.

3. The system of claim 1 , further comprising a background compiler that in response to receiving a request from the design time debugging module, returns information to the design time debugging module, wherein the information returned is responsive to the received request and wherein the information returned is based on the data structures or objects associated with the instance of the second program.

4. The system of claim 1 , wherein the design time debugging module monitors user input manipulating the run time debugging information displayed in the design time debugging user interface.

5. The system of claim 4 , wherein in response to detecting the user input manipulating the run time debugging information displayed in the design time debugging user interface, the design time debugging module modifies appearance of the source code of the first program in the design time editor or modifies content of the debugging information displayed in the design time debugging user interface.

6. The system of claim 1 , wherein the design time debugging user interface comprises a compiler watch window, a data tooltip or an expression evaluator.

7. The system of claim 1 , wherein content of the design time debugging user interface changes responsive to cursor position in the design time editor.

8. A method comprising:

displaying simultaneously during design time of an extension to an extensible application:

source code of the extension in a design time editor executing on a software development computer, wherein the extension executes within a context of the extensible application; and

run time debugging information based on data structures and objects associated with an instance of the extensible application in a design time debug user interface.

9. The method of claim 8 , further comprising:

receiving a design time editor event during design time of the extension, wherein the design time editor event comprises an event generated in response to user input manipulating the source code of the extension.

10. The method of claim 9 , further comprising:

in response to receiving the design time editor event, sending a request for information concerning data structures or objects associated with the instance of the extensible application.

11. The method of claim 8 , further comprising:

modifying appearance of the source code of the extension in response to detecting user input manipulating the debugging information based on the data structures and objects associated with the instance of the extensible application.

12. The method of claim 8 , further comprising:

modifying debugging information based on the data structures and objects associated with the instance of the extensible application in response to user input manipulating the source code of the extension.

13. The method of claim 8 , further comprising:

modifying debugging information based on the data structures and objects associated with the instance of the extensible application in response to user input manipulating the debugging information in the design time debug user interface.

14. The method of claim 8 , wherein the design time debugging user interface comprises a watch window, a data tooltip or an expression evaluator.

15. A computer-readable storage device comprising computer-executable instructions which when executed cause at least one processor to:

display run time debugging information in a design time debugging user interface based on compiler and integrated design environment data structures associated with a first program while displaying simultaneously source code of a second program during design time of the second program, the second program comprising extension software having a capability to execute within context of the first program.

16. The computer-readable storage device of claim 15 , comprising further computer-executable instructions, which when executed cause the at least one processor to:

display run time debugging information in the design time debugging user interface based on compiler objects and integrated design environment objects.

17. The computer-readable storage device of claim 15 , comprising further computer-executable instructions, which when executed cause the at least one processor to:

change appearance or content of the display of the source code of the second program responsive to user input in the design time debugging user interface.

18. The computer-readable storage device of claim 15 , comprising further computer-executable instructions, which when executed cause the at least one processor to:

change content of the display of the design time debugging user interface responsive to user input in the design time debugging user interface.

19. The computer-readable storage device of claim 15 , comprising further computer-executable instructions, which when executed cause the at least one processor to:

change content of the display of the design time debugging user interface responsive to user input in the source code of the second program.

20. The computer-readable storage device of claim 15 , comprising further computer-executable instructions, which when executed cause the at least one processor to:

display the run time debugging information in the design time debugging user interface without initiating a run time debug session.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 9, 2014
From: MICROSOFT CORPORATION
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 034564/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 22, 2012
From: AHARONI, AVNER Y.; TORGERSEN, MADS
To: MICROSOFT CORPORATION
Reel/Frame 027739/0824 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 7, 2010
From: AHARONI, AVNER Y.; TORGERSN, MADS
To: MICROSOFT CORPORATION
Reel/Frame 023745/0141 →
Continuity (1)
Related Publication 20110154295A1 · Jun 23, 2011