TEMU  4.4
The Terma Emulator
Debugger.h File Reference
#include "temu-c/Support/Objsys.h"
#include <stdint.h>
Include dependency graph for Debugger.h:

Go to the source code of this file.

Data Structures

struct  temu_DebuggerIface
 

Macros

#define TEMU_DEBUGGER_IFACE_TYPE   "temu::DebuggerIface"
 

Typedefs

typedef struct temu_TimeSource temu_TimeSource
 
typedef struct temu_Object temu_Object
 
typedef struct temu_MemTransaction temu_MemTransaction
 

Enumerations

enum  temu_BreakState { teBS_Ignore, teBS_Handle }
 
enum  temu_BreakAction { teBA_Stop, teBA_Resume }
 

Functions

int temu_debuggerGetCurrentProcessor ()
 
void temu_debuggerStop ()
 
void temu_debuggerCont ()
 
void temu_debuggerStep (temu_TimeSource *cpu, int steps)
 
void temu_debuggerAttach (void *debugger, temu_DebuggerIface *debuggerIface)
 
void temu_debuggerConnected ()
 
void temu_debuggerDetach (void *debugger)
 

Macro Definition Documentation

◆ TEMU_DEBUGGER_IFACE_TYPE

#define TEMU_DEBUGGER_IFACE_TYPE   "temu::DebuggerIface"

Typedef Documentation

◆ temu_MemTransaction

◆ temu_Object

typedef struct temu_Object temu_Object

◆ temu_TimeSource

Enumeration Type Documentation

◆ temu_BreakAction

Enumerator
teBA_Stop 
teBA_Resume 

◆ temu_BreakState

Enumerator
teBS_Ignore 
teBS_Handle 

Function Documentation

◆ temu_debuggerAttach()

void temu_debuggerAttach ( void *  debugger,
temu_DebuggerIface debuggerIface 
)

Attach a debugger to the current scheduler

This attaches a debugger to the scheduler, ensuring it is notified about events such as breakpoints and watchpoints.

◆ temu_debuggerConnected()

void temu_debuggerConnected ( )

Notify debugger infrastructure that a remote connection has been made

◆ temu_debuggerCont()

void temu_debuggerCont ( )

Resume the scheduler from a debugger

Resumes the scheduler after a stop or breakpoint. Note the function returns immediately. The debugger server is expected to listen for events through the debugger interface instead.

◆ temu_debuggerDetach()

void temu_debuggerDetach ( void *  debugger)

Detach the debugger from the current scheduler

This attaches a debugger to the scheduler, ensuring it is notified about events such as breakpoints and watchpoints.

◆ temu_debuggerGetCurrentProcessor()

int temu_debuggerGetCurrentProcessor ( )

Return current processor number

Returns -1 when running, or stopped CPU number after breakpoint hit.

◆ temu_debuggerStep()

void temu_debuggerStep ( temu_TimeSource cpu,
int  steps 
)

Step the given processor.

The debugger must be attached, and the function will block until the scheduler is running using temu_run*() functions.

◆ temu_debuggerStop()

void temu_debuggerStop ( )

Stop the scheduler from a debugger

This function is intended to be used by the GDB server. It stops the scheduler as soon as possible, without returning from the temu_run*() functions.

The function is blocking until the core has been stopped. If the core is currently not running, this function waits until someone calls temu_run*().