10#ifndef __RTDebugger_h__
11#define __RTDebugger_h__ included
21#if OTRTSDEBUG != DEBUG_NONE
23#ifndef __RTController_h__
24#include <RTController.h>
27#ifndef __RTDebuggerInput_h__
28#include <RTDebuggerInput.h>
31#ifndef __RTElasticArray_h__
32#include <RTElasticArray.h>
35#ifndef __RTTcpSocket_h__
36#include <RTTcpSocket.h>
39#ifndef __RTTimespec_h__
40#include <RTTimespec.h>
43#if USE_THREADS && ! defined( __RTinet_h__ )
72 TraceAll = TraceSystem + 1
90 unsigned freeListSize;
107 RTinet_port _udp_port;
118 void startupUdp(
void );
119 void shutdownUdp(
void );
120 void wakeupUdp(
void );
133 unsigned char traceLevel[ TraceAll ];
160 void doCmdQuit(
void );
161 void doCmdSystem(
void );
163 void printActor(
const RTActor * );
165 void printRef(
const RTActor *,
const char * );
167 int getCommand(
void );
168 int getCategory(
void );
169 int getLevel(
void );
171 void printHelp(
void );
172 void printStructure(
RTActor *,
const char *,
int );
173 void printActorInfo(
RTActor * );
183 int useEvent(
void );
191 void debugIt(
const char * cmdLine =
nullptr );
192 virtual void mainLoop(
void )
override;
193 virtual void kill(
void )
override;
194 virtual const char * name(
void )
const override;
197 void doCmdExit(
void );
198 void trace( RTController::Primitive,
199 const char * errorDescription,
201 const void * detail );
211 RTS_INLINE
int controlThreshold(
void )
const;
216 void step(
unsigned count = 1U );
217 void proceed(
void );
220 RTS_INLINE
int isHalted(
void )
const;
224 void actorIncarnated(
RTActor * );
225 void actorDestroyed (
RTActor * );
233 void checkObservability(
void );
234 void closeObservability(
void );
235 int mainObserverLoop(
void );
242 void probeCreated(
int probeId,
RTProbe * );
243 void sendProbeSignal(
RTActor *,
int priority );
244 int deleteProbe(
int );
246 void getHistory (
int probeNr,
int state );
247 void getPresence (
int probeNr,
int observerId,
int daemonId );
248 void getReference(
int probeNr,
int observerId );
252 int evtHistory(
int probeNr,
258 int evtPresence(
int probeNr,
263 int evtReference(
int probeNr,
269 void evtRtsStatus(
int observerId = -1 );
271 int evtVariable(
int probeNr,
274 const char * varName,
275 const char * varValue );
277 int evtChildren(
int probeNr,
279 const char * actorID,
280 const char * classID,
284 void evtMsgQueues(
void );
286 void addFieldValue(
const char * variable,
290 void probeAttention(
const RTActor * target );
292 int inject(
int inwards,
308 void addFieldMonitor(
int probeNr,
309 const char * variable );
310 void delFieldMonitor(
int probeNr,
311 const char * variable );
321#include <RTDebugger.inl>
An instance of this class represents a capsule instance.
Definition: RTActor.h:44
Represents a capsule part.
Definition: RTActorRef.h:39
A controller manages a group of capsule instances that all run in the same physical thread (i....
Definition: RTController.h:54
Definition: RTDaemonInfo.h:24
Definition: RTDebugger.h:58
Definition: RTElasticArray.h:22
Definition: RTEventInfo.h:26
Definition: RTIOMonitor.h:24
An object associated with a thread which captures its current state and implements its behavior.
Definition: RTJob.h:43
Represents a message used for communication between capsule instances.
Definition: RTMessage.h:33
Definition: RTObserver.h:28
Represents a general capsule port typed by a protocol which determines the set of events that can be ...
Definition: RTProtocol.h:50
Definition: RTSequenceOf.h:22
Definition: RTTcpSocket.h:24
A type descriptor providing information about a type.
Definition: RTObject_class.h:64
A time value which can represent either an absolute or relative time.
Definition: RTTimespec.h:29