The Pedigree Project
0.1
src
system
include
pedigree
kernel
debugger
Debugger.h
1
/*
2
* Copyright (c) 2008-2014, Pedigree Developers
3
*
4
* Please see the CONTRIB file in the root of the source tree for a full
5
* list of contributors.
6
*
7
* Permission to use, copy, modify, and distribute this software for any
8
* purpose with or without fee is hereby granted, provided that the above
9
* copyright notice and this permission notice appear in all copies.
10
*
11
* THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
12
* WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
13
* MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
14
* ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
15
* WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
16
* ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
17
* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
18
*/
19
20
#ifndef DEBUGGER_H
21
#define DEBUGGER_H
22
#include "pedigree/kernel/processor/InterruptHandler.h"
23
#include "pedigree/kernel/processor/state_forward.h"
24
#include "pedigree/kernel/processor/types.h"
25
#include "pedigree/kernel/utilities/StaticString.h"
26
27
#include <config.h>
28
32
#define ASSERT_FAILED_SENTINEL 0xa55e4710
// A cack-handed way of writing "assertio(n)".
33
34
#if DEBUGGER
42
class
Debugger
:
public
InterruptHandler
{
43
public
:
47
inline
static
Debugger
&
instance
() {
48
return
m_Instance
;
49
}
50
54
void
initialise
();
55
59
void
start(InterruptState& state,
LargeStaticString
& description);
60
65
virtual
void
interrupt(
size_t
interruptNumber, InterruptState& state);
66
67
InterruptState* m_pTempState;
68
69
private
:
73
Debugger
();
74
Debugger
(
const
Debugger
&);
75
Debugger
& operator=(
const
Debugger
&);
76
~Debugger
();
77
81
int
m_nIoType
;
82
86
static
Debugger
m_Instance
;
87
};
88
91
#endif
92
93
#endif
Debugger
Definition
Debugger.h:42
Debugger::instance
static Debugger & instance()
Definition
Debugger.h:47
Debugger::Debugger
Debugger()
Definition
Debugger.cc:104
Debugger::initialise
void initialise()
Definition
Debugger.cc:108
Debugger::m_nIoType
int m_nIoType
Definition
Debugger.h:81
Debugger::m_Instance
static Debugger m_Instance
Definition
Debugger.h:86
InterruptHandler
Abstract base class for interrupt-handlers.
Definition
InterruptHandler.h:33
StaticString< 128 >
Generated on Thu Sep 24 2026 06:24:01 for The Pedigree Project by
1.9.8