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 ];
159 void doCmdQuit(
void );
160 void doCmdSystem(
void );
162 void printActor(
const RTActor * );
164 void printRef(
const RTActor *,
const char * );
166 int getCommand(
void );
167 int getCategory(
void );
168 int getLevel(
void );
170 void printHelp(
void );
171 void printStructure(
RTActor *,
const char *,
int );
172 void printActorInfo(
RTActor * );
182 int useEvent(
void );
190 void debugIt(
const char * cmdLine =
nullptr );
191 virtual void mainLoop(
void )
override;
192 virtual void kill(
void )
override;
193 virtual const char * name(
void )
const override;
196 void doCmdExit(
void );
197 void trace( RTController::Primitive,
198 const char * errorDescription,
200 const void * detail );
210 RTS_INLINE
int controlThreshold(
void )
const;
215 void step(
unsigned count = 1U );
216 void proceed(
void );
219 RTS_INLINE
int isHalted(
void )
const;
223 void actorIncarnated(
RTActor * );
224 void actorDestroyed (
RTActor * );
232 void checkObservability(
void );
233 void closeObservability(
void );
234 int mainObserverLoop(
void );
241 void probeCreated(
int probeId,
RTProbe * );
242 void sendProbeSignal(
RTActor *,
int priority );
243 int deleteProbe(
int );
245 void getHistory (
int probeNr,
int state );
246 void getPresence (
int probeNr,
int observerId,
int daemonId );
247 void getReference(
int probeNr,
int observerId );
251 int evtHistory(
int probeNr,
257 int evtPresence(
int probeNr,
262 int evtReference(
int probeNr,
268 void evtRtsStatus(
int observerId = -1 );
270 int evtVariable(
int probeNr,
273 const char * varName,
274 const char * varValue );
276 int evtChildren(
int probeNr,
278 const char * actorID,
279 const char * classID,
283 void evtMsgQueues(
void );
285 void addFieldValue(
const char * variable,
289 void probeAttention(
const RTActor * target );
291 int inject(
int inwards,
307 void addFieldMonitor(
int probeNr,
308 const char * variable );
309 void delFieldMonitor(
int probeNr,
310 const char * variable );
320#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