protected override GDBResponse <string> Decode(string response)
        {
            var result = new GDBResponse <string>(DecodeResponseCode(response));

            if (result.Response == ResponseCode.Done)
            {
                result.Value = response.Substring(6).ToNameValuePair().Value;
            }

            return(result);
        }
예제 #2
0
        protected override GDBResponse <VariableObject> Decode(string response)
        {
            var result = new GDBResponse <VariableObject>(DecodeResponseCode(response));

            if (result.Response == ResponseCode.Done)
            {
                result.Value = response.Substring(6).VariableObjectFromDataString(null, expression);
            }

            return(result);
        }
        protected override GDBResponse <LiveBreakPoint> Decode(string response)
        {
            var result = new GDBResponse <LiveBreakPoint>(DecodeResponseCode(response));

            if (result.Response == ResponseCode.Done)
            {
                var split = response.Split(new[] { ',' }, 2);

                if (split[1].Substring(0, 4) == "bkpt")
                {
                    // TODO if breakpoint may come back with multiple addresses.
                    result.Value = split[1].Substring(6, split[1].Length - 6 - 1).ToNameValuePairs().LiveBreakPointFromArgumentList();
                }
            }

            return(result);
        }