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.
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. 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.