UML Model
Classes
TargetHostInterface
Class
TargetHostInterface
Keeps track of how many TeamDebuggers there are, starts new ones, finds existing ones, and removes old ones.
RemoteTargetHostInterface
Class
RemoteTargetHostInterface
Operates on remote computers. Not implemented.
LocalTargetHostInterface
Class
LocalTargetHostInterface
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
TargetHost
Stores wich teams are on the target host.
TeamDebugger
Class
TeamDebugger
Acts as the backend for UserInterface. Receives the UserInterface's requests through the UserInterfaceListener.
UserInterfaceListener
Class
UserInterfaceListener
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
UserInterface
Similar to BApplication class. States the existence of Show, Terminate, Init, LoadSettings, SaveSettings, etc.
Debugger
Class
Debugger
Main class of the Debugger GUI. Usually starts the TeamsDebugger window when run.
GraphicalUserInterface
Class
GraphicalUserInterface
The GUI of a single debugger attached to a single process
TeamWindow
Class
TeamWindow
The window shown when the debugger is attached to the process. Allows stepping through code, setting breakpoints, etc.
TeamsWindow
Class
TeamsWindow
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.
TargetHostInterfaceRoster
Class
TargetHostInterfaceRoster
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
Team
Stores information about the current team such as its threads, breakpoints, etc. It does not actually do anything: it simply stores information.
DebuggerInterface
Class
DebuggerInterface
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.
CommandLineUserInterface
Class
CommandLineUserInterface
Controls the output to the terminal when the Debugger is launched with the -c option.
CliContext
Class
CliContext
Holds information and functions that each of the commands might want to use.