this stuff is implemented in NewRMTWImplC
CedarModuleSet: TYPE = REF CedarModuleSetBody;
CedarModuleSetBody: TYPE;
CreateCedarModuleSet: PROC[fileSet: SystemInterface.FileSet, remoteServer: Rope.ROPE ← NIL] RETURNS[CedarModuleSet];
ResetSearchPaths: PROC[modules: CedarModuleSet, searchPaths: LIST OF PATH, flushTime: BasicTime.GMT];
FlushUnknownFileCache: PROC[modules: CedarModuleSet, flushTime: BasicTime.GMT];
LoadedModuleInfo:
TYPE =
RECORD[
stem: PATH,
jmpi: MOF.JointMobParsedInfo,
mob: MA.MobCookie,
loadedModule: REF LSA.LoadedModuleInfo];
This procedure attempts to find the mob file and construct the mob and jmpi if they have not already been found. If there have been changes in the search paths, subsequent calls may report information that previous calls failed to find.
GetLoadedModuleInfo: PROC[modules: CedarModuleSet, loadedModule: REF LoadStateAccess.LoadedModuleInfo] RETURNS[REF LoadedModuleInfo];
CedarSourcePosition:
TYPE =
RECORD[
relativePC: CARD,
mesa: CirioFile,
mesaPosition: CARD,
cFile: CirioFile,
cLineNum: CARD,
remarks: Rope.ROPE];
GetCedarSourcePosition: PROC[modules: CedarModuleSet, loadedModule: REF LoadStateAccess.LoadedModuleInfo, absPC: CARD] RETURNS[REF CedarSourcePosition];
GetRopesForSourcePosInfo: PROC[info: REF CedarSourcePosition] RETURNS[LIST OF Rope.ROPE];
CedarBreakAddress:
TYPE =
RECORD[
mesa: CirioFile,
mesaPosition: CARD,
cFile: CirioFile,
cLineNum: CARD,
moduleRelativePC: ObjectFiles.FileSegmentPC,
correspondingCLineNum: CARD,
correspondingMesaPosition: CARD,
loadedModule: REF LoadStateAccess.LoadedModuleInfo,
absPC: CARD];
NIL means failure to compute
GetAbsAddressForBreak: PROC[modules: CedarModuleSet, mesa: CirioFile, loadState: LoadStateAccess.LoadStateHandle, sourcePos: CARD] RETURNS[REF CedarBreakAddress];
GetRopesForCedarBreakAddress: PROC[addr: REF CedarBreakAddress] RETURNS[LIST OF Rope.ROPE];
frames
this stuff is implemented in NewRMTWImplA
RemoteMimosaTargetWorld: TYPE = REF RemoteMimosaTargetWorldBody;
RemoteMimosaTargetWorldBody: TYPE;
CreateRemoteMimosaTargetWorld:
PROC[serverName: Rope.
ROPE, handle: CirioNubAccess.Handle, cc:
CC, cedarModules: CedarModuleSet, lsh:
LSA.LoadStateHandle, reports:
IO.
STREAM, setCTC:
BOOL]
RETURNS[RemoteMimosaTargetWorld];
reports is only used during the creation. setCTC indicates that cc should be told of the standard types.
GetRMTWInfo: PROC [RemoteMimosaTargetWorld] RETURNS [serverName: Rope.ROPE, handle: CirioNubAccess.Handle, cc: CC, cedarModules: CedarModuleSet, lsh: LSA.LoadStateHandle];
GetModuleScope: PROC [RemoteMimosaTargetWorld] RETURNS [CirioTypes.ModuleScope];
FlushUnknownSymbolCache: PROC[rmtw: RemoteMimosaTargetWorld, flushTime: BasicTime.GMT, reports: IO.STREAM];
RawFrameInfo:
TYPE =
RECORD[
absPC: CARD,
framePointer: CARD,
stackPointer: CARD];
FrameNodeInfo:
TYPE =
RECORD[
node: CirioTypes.Node,
following permits the debugger to display diagnostic info
getDiagnosticInfo: PROC[frame: REF FrameNodeInfo] RETURNS[LIST OF Rope.ROPE],
data: REF ANY
];
GetNodeForCedarFrame: PROC[rmtw: RemoteMimosaTargetWorld, loadedModuleInfo: REF LoadedModuleInfo, rawFrameInfo: REF RawFrameInfo] RETURNS[REF FrameNodeInfo];
FlushUnknownTypeCodes: PROC [rmtw: RemoteMimosaTargetWorld];
ShowReportByLevel: PROC [s: IO.STREAM, r: Rope.ROPE, level: ATOM];