The Pedigree Project  0.1
Public Member Functions | Static Public Member Functions | Public Attributes | Private Member Functions | Private Attributes | Static Private Attributes | List of all members
Debugger Class Reference

#include <Debugger.h>

+ Inheritance diagram for Debugger:
+ Collaboration diagram for Debugger:

Public Member Functions

void initialise ()
 
void start (InterruptState &state, LargeStaticString &description)
 
virtual void interrupt (size_t interruptNumber, InterruptState &state)
 

Static Public Member Functions

static Debuggerinstance ()
 

Public Attributes

InterruptState * m_pTempState
 

Private Member Functions

 Debugger ()
 
 Debugger (const Debugger &)
 
Debuggeroperator= (const Debugger &)
 

Private Attributes

int m_nIoType
 

Static Private Attributes

static Debugger m_Instance
 

Additional Inherited Members

- Protected Member Functions inherited from InterruptHandler
virtual ~InterruptHandler ()
 

Detailed Description

Implements the main kernel debugger. This class interfaces with the machine abstraction to provide trap and breakpoint services. It exposes a set of commands, which are accessed by the user through a command-line interface defined by a concretion of the abstract class DebuggerIO. The kernel can also write entries to the (debug) system log by calling operator<< directly.

Definition at line 42 of file Debugger.h.

Constructor & Destructor Documentation

Debugger::Debugger ( )
private

Default constructor - does nothing.

Definition at line 99 of file Debugger.cc.

Referenced by instance().

+ Here is the caller graph for this function:

Member Function Documentation

void Debugger::initialise ( )

Initialise the debugger - register interrupt handlers etc.

Todo:
Figure out a way of getting similar functionality

on ARM

Definition at line 107 of file Debugger.cc.

References InterruptManager::getBreakpointInterruptNumber(), and InterruptManager::instance().

Referenced by instance().

+ Here is the caller graph for this function:

static Debugger& Debugger::instance ( )
inlinestatic
void Debugger::interrupt ( size_t  interruptNumber,
InterruptState &  state 
)
virtual

Called when the handler is registered with the interrupt manager and the interrupt occurred

Parameters
interruptNumberthe interrupt number
statereference to the state before the interrupt

Implements InterruptHandler.

Definition at line 455 of file Debugger.cc.

References InterruptManager::instance(), Processor::setSingleStep(), and start().

Referenced by instance().

+ Here is the caller graph for this function:

void Debugger::start ( InterruptState &  state,
LargeStaticString description 
)

Member Data Documentation

Debugger Debugger::m_Instance
staticprivate

The Debugger instance (singleton class)

Definition at line 88 of file Debugger.h.

Referenced by instance().

int Debugger::m_nIoType
private

The current DebuggerIO type.

Definition at line 83 of file Debugger.h.


The documentation for this class was generated from the following files: