public UInt32 Send(DebuggerToBackend message)
 {
     message.SeqNo = OutgoingSeq++;
     LogMessage(message);
     Client.Send(message);
     return(message.SeqNo);
 }
        public void SendSyncStory()
        {
            var msg = new DebuggerToBackend
            {
                SyncStory = new DbgSyncStory()
            };

            Send(msg);
        }
        public void SendSetGlobalBreakpoints(UInt32 breakpointMask)
        {
            var msg = new DebuggerToBackend
            {
                SetGlobalBreakpoints = new DbgSetGlobalBreakpoints
                {
                    BreakpointMask = breakpointMask
                }
            };

            Send(msg);
        }
        public void SendGetDatabaseContents(UInt32 databaseId)
        {
            var msg = new DebuggerToBackend
            {
                GetDatabaseContents = new DbgGetDatabaseContents
                {
                    DatabaseId = databaseId
                }
            };

            Send(msg);
        }
        public void SendIdentify(UInt32 protocolVersion)
        {
            var msg = new DebuggerToBackend
            {
                Identify = new DbgIdentifyRequest
                {
                    ProtocolVersion = protocolVersion
                }
            };

            Send(msg);
        }
Exemple #6
0
        public void SendConnectRequest(UInt32 protocolVersion)
        {
            var msg = new DebuggerToBackend
            {
                Connect = new DbgConnectRequest
                {
                    ProtocolVersion = protocolVersion
                }
            };

            Send(msg);
        }
Exemple #7
0
        public UInt32 SendSourceRequest(string name)
        {
            var msg = new DebuggerToBackend
            {
                RequestSource = new DbgRequestSource
                {
                    Name = name
                }
            };

            return(Send(msg));
        }
Exemple #8
0
        public void SendContinue(DbgContext context, DbgContinue.Types.Action action)
        {
            var msg = new DebuggerToBackend
            {
                Continue = new DbgContinue
                {
                    Context = context,
                    Action  = action
                }
            };

            Send(msg);
        }
Exemple #9
0
        public void SendUpdateSettings(bool breakOnError, bool breakOnGenericError)
        {
            var msg = new DebuggerToBackend
            {
                UpdateSettings = new DbgUpdateSettings
                {
                    BreakOnError        = breakOnError,
                    BreakOnGenericError = breakOnGenericError
                }
            };

            Send(msg);
        }
        public UInt32 SendEvaluate(DbgEvaluate.Types.EvalType type, UInt32 nodeId, MsgTuple args)
        {
            var msg = new DebuggerToBackend
            {
                Evaluate = new DbgEvaluate
                {
                    Type   = type,
                    NodeId = nodeId,
                    Params = args
                }
            };

            return(Send(msg));
        }
        public void SendContinue(DbgContinue.Types.Action action, UInt32 breakpointMask, UInt32 flags)
        {
            var msg = new DebuggerToBackend
            {
                Continue = new DbgContinue
                {
                    Action         = action,
                    BreakpointMask = breakpointMask,
                    Flags          = flags
                }
            };

            Send(msg);
        }
Exemple #12
0
        public UInt32 SendEvaluate(DbgContext context, int frameIndex, string expression)
        {
            var msg = new DebuggerToBackend
            {
                Evaluate = new DbgEvaluate
                {
                    Context    = context,
                    Frame      = frameIndex,
                    Expression = expression
                }
            };

            return(Send(msg));
        }
        public void Send(DebuggerToBackend message)
        {
            using (var ms = new MemoryStream())
            {
                message.WriteTo(ms);

                var length    = ms.Position + 4;
                var lengthBuf = new byte[4];
                lengthBuf[0] = (byte)(length & 0xff);
                lengthBuf[1] = (byte)((length >> 8) & 0xff);
                lengthBuf[2] = (byte)((length >> 16) & 0xff);
                lengthBuf[3] = (byte)((length >> 24) & 0xff);
                Socket.Client.Send(lengthBuf);
                var payload = ms.ToArray();
                Socket.Client.Send(payload);
            }
        }
        public void SendSetBreakpoints(List <Breakpoint> breakpoints)
        {
            var setBps = new DbgSetBreakpoints();

            foreach (var breakpoint in breakpoints)
            {
                if (breakpoint.Verified)
                {
                    var msgBp = BreakpointToMsg(breakpoint);
                    setBps.Breakpoint.Add(msgBp);
                }
            }

            var msg = new DebuggerToBackend
            {
                SetBreakpoints = setBps
            };

            Send(msg);
        }
Exemple #15
0
        public void SendSetBreakpoints(IEnumerable <BreakpointInfo> breakpoints)
        {
            var setBps = new DbgSetBreakpoints();

            foreach (var breakpoint in breakpoints)
            {
                var bp = new MsgBreakpoint
                {
                    Path = breakpoint.Path,
                    Line = breakpoint.Line
                };
                setBps.Breakpoint.Add(bp);
            }

            var msg = new DebuggerToBackend
            {
                SetBreakpoints = setBps
            };

            Send(msg);
        }
Exemple #16
0
        public UInt32 SendGetVariables(BackendVariableReference vref)
        {
            var eval = new DbgGetVariables
            {
                Context     = vref.Context,
                VariableRef = vref.VariableRef,
                Frame       = vref.Frame,
                Local       = vref.Local
            };

            if (vref.Keys != null)
            {
                foreach (var key in vref.Keys)
                {
                    var keyItem = new MsgTableKey();
                    if (key.String != null)
                    {
                        keyItem.Type = MsgTableKey.Types.Type.Text;
                        keyItem.Key  = key.String;
                    }
                    else
                    {
                        keyItem.Type  = MsgTableKey.Types.Type.Numeric;
                        keyItem.Index = key.Index.Value;
                    }

                    eval.Key.Add(keyItem);
                }
            }

            var msg = new DebuggerToBackend
            {
                GetVariables = eval
            };

            return(Send(msg));
        }