1. A computer-implemented method comprising: determining that a debugging functionality embedded in an application is requested, wherein the application supports an n-tiered architecture; collecting state information of the application at one or more operational break points as the application executes; and providing the state information to a user at each break point.