DIRECTORY CirioNubAccess USING[FileEntry, Handle, PCInfo], CirioTypes USING[CompilerContext, Node], IO USING[STREAM], Rope USING[ROPE], SymbolFinding USING[FoundSymbols, SymbolInfo], SystemInterface USING[CirioFile]; May4Exp: CEDAR DEFINITIONS = BEGIN ProcedureFrameInfo: TYPE = REF ProcedureFrameInfoBody; ProcedureFrameInfoBody: TYPE = RECORD[ dotOInfo: CirioNubAccess.FileEntry, absPC: CARD, relativePC: CARD, -- absPC-dotOInfo.textReloc framePointer: CARD, stackPointer: CARD, pcInfo: CirioNubAccess.PCInfo]; ShowReport: SIGNAL[msgText: Rope.ROPE]; CFileInfo: TYPE = REF CFileInfoBody; CFileInfoBody: TYPE; CreateCFileInfo: PROC[cFile: SystemInterface.CirioFile] RETURNS[CFileInfo]; LookupMesaSourcePos: PROC[info: CFileInfo, pos: CARD] RETURNS[cLineNum: CARD]; LookupCLineNum: PROC[info: CFileInfo, cLineNum: CARD] RETURNS[pos: CARD]; GetCFileVersionStamp: PROC[info: CFileInfo] RETURNS[Rope.ROPE]; END..  May4Exp.mesa Sturgis, September 18, 1989 9:37:19 am PDT Last changed by Theimer on October 14, 1989 9:08:55 pm PDT folowing concerns the containing dotO of the procedure invoking the frame following concern the frame itself the following are implemented in RemoteMimosaTargetWorldImpl RemoteMimosaTargetWorld: TYPE = REF RemoteMimosaTargetWorldBody; RemoteMimosaTargetWorldBody: TYPE; CreateRemoteMimosaTargetWorld: PROC[serverName: Rope.ROPE, handle: CirioNubAccess.Handle, cc: CirioTypes.CompilerContext, si: SymbolFinding.SymbolInfo] RETURNS[RemoteMimosaTargetWorld]; CreateAndShowStack: PROC[hottestFrame: ProcedureFrameInfo, rmtw: RemoteMimosaTargetWorld, out: IO.STREAM]; the cc parameter should include the target world supplied by a previous call to CreateRemoteMimosaTargetWorld The following break point routines are currently implemented in NewRMTWImplA. They should probably migrate to CirioPCRTW so as to be language independent. SetBreakAtAbsAddr: PROC[rmtw: RemoteMimosaTargetWorld, cardAddress: CARD32]; ListBreaks: PROC[rmtw: RemoteMimosaTargetWorld]; calls ShowReport for each break ClearBreakAtAbsAddr: PROC[rmtw: RemoteMimosaTargetWorld, cardAddress: CARD32]; ClearBreakAtIndex: PROC[rmtw: RemoteMimosaTargetWorld, index: CARD]; ClearAllBreaks: PROC[rmtw: RemoteMimosaTargetWorld]; The above procedures may, from time to time, generate reports for the user. These reports are delivered by the following signal. It is expected that the client should, after displaying the text, also produce a CR. following are added Aug 9, 1989 and September 18, 1989 FrameNodeInfo: TYPE = RECORD[ node: CirioTypes.Node, kind: FrameKind, following permits the debugger to display diagnostic info getDiagnosticInfo: PROC[frame: REF FrameNodeInfo] RETURNS[LIST OF Rope.ROPE], data: REF ANY ]; FrameKind: TYPE = ATOM; -- possible values include $Cedar and $C. GetNodeForFrame: PROC[ serverName: Rope.ROPE, symbols: SymbolFinding.FoundSymbols, frameInfo: ProcedureFrameInfo, rmtw: RemoteMimosaTargetWorld] RETURNS[REF FrameNodeInfo]; GetBannerForFrame: PROC[ serverName: Rope.ROPE, symbols: SymbolFinding.FoundSymbols, frameInfo: ProcedureFrameInfo, rmtw: RemoteMimosaTargetWorld] RETURNS[LIST OF Rope.ROPE]; following added September 30, 1989 2:29:43 pm PDT Should go away and be replaced by module style stuff Κ’•NewlineDelimiter ™Icodešœ ™ šœ*™*K™:—K˜šΟk ˜ Kšœœ˜0Kšœ œ˜(Kšœœœ˜Kšœœœ˜Kšœœ˜.Kšœ!˜!—K˜K˜K˜šΟnœœ œ˜Kš˜K˜Kšœœœ˜6šœœœ˜&šœI™IKšœ#˜#—šœ"™"Kšœœ˜ Kšœ œΟc˜-Kšœœ˜Kšœœ˜Kšœ˜——K˜˜Kšœ<™<—K˜Kšœœœ™@Kšœœ™"K™Kšžœœœ_œ™ΉK˜šžœœGœœ™jKšœm™m—K˜K™›K™Kšžœœ-œ™LK™šž œœ ™0K™—K™Kšžœœ-œ™NK™Kšžœœ'œ™DK™Kšžœœ ™4K™šœΤœ™ΧK˜Kšž œœœ˜'—K˜™6K™šœœœ™K™K™K™9Kš œœœœœœœ™MKšœœ™ K™—K™Kšœ œœŸ)™AK™K™šžœœ™Kšœœ™Kšœ$™$Kšœ™Kšœœœ™:—K™šžœœ™Kšœœ™Kšœ$™$Kšœ™Kš œœœœœ™:—K™K˜™1K™4—K˜Kšœ œœ˜$Jšœœ˜J˜JšΠbnž œœ#œ ˜KJš žœœœœ œ˜NJš žœœœœœ˜IJšžœœœœ˜?—K˜Kšœ˜——…— P