1. A method executed by a processor to provide a software debugging environment, comprising: providing a software program containing at least one data structure with one or more contents, wherein the software program is a server page application running on one or more processor that allows for automatically generating one or more servlets in machine generated code in a programming language, wherein the machine generated code contains one or more underlying physical data structures that are used to represent the one or more contents of the at least one data structure, and wherein the machine generated code allows for further compilation into binary code before execution; displaying and/or editing the one or more contents of the at least one data structure via at least one abstract view based on the one or more underlying physical data structures used to represent the one or more contents; and extracting and formatting, via at least one filter, the one or more contents from the underlying physical data structures and defining a displaying and/or editing property of the at least one abstract view via at least one filter, the at least one filter is used to extract data from and manipulate one or more contents in a buffer used to transmit and receive streaming data, wherein the at least one filter allows a user to view the at least one data structure in a data stream relative to one or more tag library associated with the server page application using intermediate data created by the one or more tag library, wherein the intermediate data created by the one or more tag library is not sent back to the data stream.