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 Debugger & instance ()
 

Public Attributes

InterruptState * m_pTempState
 

Private Member Functions

 Debugger ()
 
 Debugger (const Debugger &)
 
Debugger & operator= (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::Debugger ( )
private

Default constructor - does nothing.

Definition at line 104 of file Debugger.cc.

◆ ~Debugger()

Debugger::~Debugger ( )
private

Definition at line 106 of file Debugger.cc.

Member Function Documentation

◆ initialise()

void Debugger::initialise ( )

Initialise the debugger - register interrupt handlers etc.

Definition at line 108 of file Debugger.cc.

References InterruptManager::instance().

◆ instance()

static Debugger & Debugger::instance ( )
inlinestatic

Get the instance of the Debugger

Definition at line 47 of file Debugger.h.

References m_Instance.

Referenced by HostedInterruptManager::interrupt(), and X64InterruptManager::interrupt().

+ Here is the caller graph for this function:

◆ interrupt()

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 429 of file Debugger.cc.

References InterruptManager::instance(), and ProcessorBase::setSingleStep().

◆ start()

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

Member Data Documentation

◆ m_Instance

Debugger Debugger::m_Instance
staticprivate

The Debugger instance (singleton class)

Definition at line 86 of file Debugger.h.

Referenced by instance().

◆ m_nIoType

int Debugger::m_nIoType
private

The current DebuggerIO type.

Definition at line 81 of file Debugger.h.

◆ m_pTempState

InterruptState* Debugger::m_pTempState

Definition at line 67 of file Debugger.h.


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