1. A method for automatically determining capabilities of a hardware system to permit a software development system to support multiple hardware system architectures, comprising the steps of: accessing a first database corresponding to a first hardware system selected from the multiple hardware system architectures for use during a software debug session; creating a software representation for use by the software development system of a set of debug components of the first hardware system in accordance with the first database such that interconnections of the set of debug components are also represented; accepting a first request to the software development system for a debug job in which the request is comprised of at least a first action and one or more events that will trigger the action; traversing the software representation of the set of debug components to determine if a first debug component required to execute the first action is present in the first hardware system and if a first set of debug components capable of detecting the one or more events are interconnected to the first debug component in such a way that the first action will be triggered when the one or more events occur; and performing the debug job using a set of debug components selected by the step of traversing.