Patent ID: 8880952

Claim:
A method of debugging code of a provider comprising: receiving a debug interface for a provider included in a server, said provider including a first software layer providing common services and a second software layer including a plurality of code modules wherein each of said plurality of code modules provides a set of customized services, said common services being used in combination with the set of customized services provided by any of said plurality of code modules, said debug interface including a first function interface for a first function having first code included in said first software layer and including a second function interface for a second function having second code included in said first software layer which provides for runtime transfer of control to code included in said second software layer, said first function being invoked to issue any of a first set of debug commands to debug code in the first software layer and said second function being invoked to issue any of a second set of debug commands to debug code in the second software layer, wherein said second function is a same function used to issue debug commands to each of the plurality of code modules of the second software layer; sending, by a client to said server, a first debug command using said debug interface, wherein said first debug command is used to debug code included in said second software layer and said first debug command is sent to said server by said client calling said second function in accordance with said second function interface; and performing first processing on said server for processing said first debug command, said first processing including: invoking said second function by transferring runtime control to said second code of the first software layer, wherein said second code then passes the first debug command through to the second software layer by invoking third code in one of the plurality of code modules of the second software layer, said third code performing second processing for the first debug command including syntactic processing and semantic processing interpreting said first debug command and performing an action based on semantics of said first debug command.