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__ )
73 TraceAll = TraceSystem + 1
91 unsigned freeListSize;
108 RTinet_port _udp_port;
119 void startupUdp(
void );
120 void shutdownUdp(
void );
121 void wakeupUdp(
void );
134 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 const char* prim_name,
169 const char* errorDescription,
171 const void* detail );
173 int getCommand(
void );
174 int getCategory(
void );
175 int getLevel(
void );
177 void printHelp(
void );
178 void printStructure(
RTActor *,
const char *,
int );
179 void printActorInfo(
RTActor * );
189 int useEvent(
void );
197 void debugIt(
const char * cmdLine =
nullptr );
198 virtual void mainLoop(
void )
override;
199 virtual void kill(
void )
override;
200 virtual const char * name(
void )
const override;
203 void doCmdExit(
void );
204 void trace( RTController::Primitive,
205 const char * errorDescription,
207 const void * detail );
217 RTS_INLINE
int controlThreshold(
void )
const;
222 void step(
unsigned count = 1U );
223 void proceed(
void );
226 RTS_INLINE
int isHalted(
void )
const;
230 void actorIncarnated(
RTActor * );
231 void actorDestroyed (
RTActor * );
239 void checkObservability(
void );
240 void closeObservability(
void );
241 int mainObserverLoop(
void );
248 void probeCreated(
int probeId,
RTProbe * );
249 void sendProbeSignal(
RTActor *,
int priority );
250 int deleteProbe(
int );
252 void getHistory (
int probeNr,
int state );
253 void getPresence (
int probeNr,
int observerId,
int daemonId );
254 void getReference(
int probeNr,
int observerId );
258 int evtHistory(
int probeNr,
264 int evtPresence(
int probeNr,
269 int evtReference(
int probeNr,
275 void evtRtsStatus(
int observerId = -1 );
277 int evtVariable(
int probeNr,
280 const char * varName,
281 const char * varValue );
283 int evtChildren(
int probeNr,
285 const char * actorID,
286 const char * classID,
290 void evtMsgQueues(
void );
292 void addFieldValue(
const char * variable,
296 void probeAttention(
const RTActor * target );
298 int inject(
int inwards,
314 void addFieldMonitor(
int probeNr,
315 const char * variable );
316 void delFieldMonitor(
int probeNr,
317 const char * variable );
327#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:56
Definition: RTDaemonInfo.h:24
Definition: RTDebugger.h:59
Definition: RTDiagStream.h:40
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