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:
diagram.png