IP Library Granted Patent US 7,979,847
Granted Patent B2
US 7,979,847 · App. 11/864,222 · Granted Jul 12, 2011

Visual debugger for declarative/data-flow applications

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 7,979,847
App. No.
11/864,222
Granted
Jul 12, 2011
Kind
B2
Abstract

A framework is implemented. The framework is configured to execute an application within the framework, the application includes instantiated runtime objects. New instantiated runtime objects may be created and instantiated runtime objects destroyed while the application is executing. The framework is further configured to implement a debugger within the framework. At the debugger, instantiated runtime objects are correlated with lines of code of the application. Some embodiments allow users to debug executing applications. This can be accomplished by a user interacting with the executing application which then causes indications in the debugger or interacting with the debugger and which causes indications on instantiated runtime objects in the application.

Claims (44)

1. A method, implemented by one or more processors of one or more computers, for debugging a declarative language application comprising:

executing the declarative language application within a framework, wherein during execution of the declarative language application, one or more runtime objects are instantiated wherein at least one of the one or more runtime objects is a graphical user interface button which is displayed to a user, the graphical user interface button being a component of the declarative language application such that the button is generated during execution of the declarative language application whether the declarative language application is executed within or without the framework;

while the declarative language application is being executed, receiving input from the user that selects one of the at least one graphical user interface buttons, the selection specifying the user's desire to view debugging information related to the selected graphical user interface button; and

in response to the user input, displaying the debugging information related to the selected graphical user interface button, wherein the debugging information includes:

lines of code within the source code of the declarative language application where the selected graphical user interface button is defined;

a hierarchy of other graphical user interface elements that are related to the selected graphical user interface button; and

values of the selected graphical user interface button.

2. The method of claim 1 wherein the hierarchy of other graphical user interface elements includes any parent elements and child elements of the selected graphical user interface button.

3. The method of claim 1 wherein the values of the selected graphical user interface button include dimensions of the button, or styling information of the button.

4. The method of claim 1 wherein displaying the lines of code further includes highlighting specific lines of code within the source code where the selected graphical user interface button is defined.

5. The method of claim 1 wherein displaying the lines of code further includes displaying event handlers associated with the selected graphical user interface button.

6. The method of claim 1 , further comprising:

receiving, while the declarative language application is being executed, second user input within the displayed lines of code that specifies a particular location within the source code within the declarative language application; and

creating a breakpoint at the particular location.

7. The method of claim 1 , further comprising:

receiving a query from the user that requests information regarding all graphical user interface elements of a specified type;

in response to the input, determining which graphical user interface elements of the specified type are currently active in the executing declarative language application; and

displaying each of the currently active graphical user interface elements to the user.

8. The method of claim 1 , further comprising:

receiving user input comprising new values to replace the existing values of the selected graphical user interface button;

replacing the existing values with the new values; and

continuing to execute the declarative language application with the new values.

9. One or more computer storage media storing computer executable instructions which when executed by one or more processors of one or more computers implement a method for debugging a declarative language application comprising:

executing the declarative language application within a framework, wherein during execution of the declarative language application, one or more runtime objects are instantiated wherein at least one of the one or more runtime objects is a graphical user interface button which is displayed to a user, the graphical user interface button being a component of the declarative language application such that the button is generated during execution of the declarative language application whether the declarative language application is executed within or without the framework;

while the declarative language application is being executed, receiving input from the user that selects one of the at least one graphical user interface buttons, the selection specifying the user's desire to view debugging information related to the selected graphical user interface button; and

in response to the user input, displaying the debugging information related to the selected graphical user interface button, wherein the debugging information includes:

lines of code within the source code of the declarative language application where the selected graphical user interface button is defined;

a hierarchy of other graphical user interface elements that are related to the selected graphical user interface button; and

values of the selected graphical user interface button.

10. The one or more computer storage media of claim 9 wherein the hierarchy of other graphical user interface elements includes any parent elements and child elements of the selected graphical user interface button.

11. The one or more computer storage media of claim 9 wherein the values of the selected graphical user interface button include dimensions of the button, or styling information of the button.

12. The one or more computer storage media of claim 9 wherein displaying the lines of code further includes highlighting specific lines of code within the source code where the selected graphical user interface button is defined.

13. The one or more computer storage media of claim 9 wherein displaying the lines of code further includes displaying event handlers associated with the selected graphical user interface button.

14. The one or more computer storage media of claim 9 , further comprising:

receiving, while the declarative language application is being executed, second user input within the displayed lines of code that specifies a particular location within the source code within the declarative language application; and

creating a breakpoint at the particular location.

15. The one or more computer storage media of claim 9 , further comprising:

receiving a query from the user that requests information regarding all graphical user interface elements of a specified type;

in response to the input, determining which graphical user interface elements of the specified type are currently active in the executing declarative language application; and

displaying each of the currently active graphical user interface elements to the user.

16. The one or more computer storage media of claim 9 , further comprising:

receiving user input comprising new values to replace the existing values of the selected graphical user interface button;

replacing the existing values with the new values; and

continuing to execute the declarative language application with the new values.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 9, 2014
From: MICROSOFT CORPORATION
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 034542/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 28, 2007
From: DANTON, STEPHEN M.; AITKEN, WILLIAM E.; KENT, SIMON D.; JAYADEVAN, SIDDHARTH
To: MICROSOFT CORPORATION
Reel/Frame 019897/0439 →
Continuity (1)
Related Publication 20090089756A1 · Apr 2, 2009