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.