The Debugger kit################Classes=======TargetHostInterface-------------------+----------------------------------------------------------------------+| Class |+======================================================================+| Keeps track of how many TeamDebuggers there are, starts new ones, || finds existing ones, and removes old ones. |+----------------------------------------------------------------------+| |+----------------------------------------------------------------------+RemoteTargetHostInterface-------------------------+------------------------------------------------+| Class |+================================================+| Operates on remote computers. Not implemented. |+------------------------------------------------+| |+------------------------------------------------+LocalTargetHostInterface------------------------+-------------------------+-------------------------+---------------+| Class | L | || | ocalTargetHostInterface | |+=========================+=========================+===============+| Operates on the local | | || computer. Creates | | || teams, attaches to | | || existing teams, and | | || finds teams by threads. | | || It is responsible for | | || keeping its instance of | | || TargetHost up-to-date. | | |+-------------------------+-------------------------+---------------+| Operations: | | |+-------------------------+-------------------------+---------------+| visibility | return | name |+-------------------------+-------------------------+---------------+| | void | GetTargetHost |+-------------------------+-------------------------+---------------+| | | |+-------------------------+-------------------------+---------------+TargetHost----------+-------------------------------------------+| Class |+===========================================+| Stores wich teams are on the target host. |+-------------------------------------------+| |+-------------------------------------------+TeamDebugger------------+----------------------------------------------------------------------+| Class |+======================================================================+| Acts as the backend for UserInterface. Receives the UserInterface's || requests through the UserInterfaceListener. |+----------------------------------------------------------------------+| |+----------------------------------------------------------------------+UserInterfaceListener---------------------+----------------------------------------------------------------------+| Class |+======================================================================+| Class that receives requests from the UserInterface to set and clear || breakpoints and watchpoints, read and write memory, write core || files, step over and into functions, load images, evaluate || expressions, and so on. |+----------------------------------------------------------------------+| |+----------------------------------------------------------------------+UserInterface-------------+----------------------------------------------------------------------+| Class |+======================================================================+| Similar to BApplication class. States the existence of Show, || Terminate, Init, LoadSettings, SaveSettings, etc. |+----------------------------------------------------------------------+| |+----------------------------------------------------------------------+Debugger--------+----------------------------------------------------------------------+| Class |+======================================================================+| Main class of the Debugger GUI. Usually starts the TeamsDebugger || window when run. |+----------------------------------------------------------------------+| |+----------------------------------------------------------------------+BApplication------------+-------+| Class |+=======+| |+-------+GraphicalUserInterface----------------------+-----------------------------------------------------------+| Class |+===========================================================+| The GUI of a single debugger attached to a single process |+-----------------------------------------------------------+| |+-----------------------------------------------------------+TeamWindow----------+----------------------------------------------------------------------+| Class |+======================================================================+| The window shown when the debugger is attached to the process. || Allows stepping through code, setting breakpoints, etc. |+----------------------------------------------------------------------+| |+----------------------------------------------------------------------+TeamsWindow-----------+----------------------------------------------------------------------+| Class |+======================================================================+| The list of applications shown when the debugger is first launched. || The user can choose one from the list to attach to or start their || own. |+----------------------------------------------------------------------+| |+----------------------------------------------------------------------+BFilePanel----------+-------+| Class |+=======+| |+-------+TargetHostInterfaceRoster-------------------------+----------------------------------------------------------------------+| Class |+======================================================================+| Keeps track of all the available debugging interfaces. Currently || only holds the local debugging interface, I believe. It could in the || future also hold remote debugging connections. |+----------------------------------------------------------------------+| |+----------------------------------------------------------------------+Team----+----------------------------------------------------------------------+| Class |+======================================================================+| Stores information about the current team such as its threads, || breakpoints, etc. It does not actually do anything: it simply stores || information. |+----------------------------------------------------------------------+| |+----------------------------------------------------------------------+Thread------+-------+| Class |+=======+| |+-------+DebuggerInterface-----------------+----------------------------------------------------------------------+| Class |+======================================================================+| Communicates to the system to tell it what should be done. Can set || breakpoints, watchpoints, single step and resume threads, read and || write memory, and get information. |+----------------------------------------------------------------------+| |+----------------------------------------------------------------------+WatchpointManager-----------------+-------+| Class |+=======+| |+-------+BreakpointManager-----------------+-------+| Class |+=======+| |+-------+CommandLineUserInterface------------------------+----------------------------------------------------------------------+| Class |+======================================================================+| Controls the output to the terminal when the Debugger is launched || with the -c option. |+----------------------------------------------------------------------+| |+----------------------------------------------------------------------+CliContext----------+----------------------------------------------------------------------+| Class |+======================================================================+| Holds information and functions that each of the commands might want || to use. |+----------------------------------------------------------------------+| |+----------------------------------------------------------------------+Diagrams========Classes:--------.. image:: class\ diagram.png