Inheritance: BreakPoint
Esempio n. 1
0
		public static LiveBreakPoint FromArgumentList(NameValuePair[] argumentList)
		{
			var result = new LiveBreakPoint();

			foreach (var argument in argumentList)
			{
				switch (argument.Name)
				{
					case "number":
						result.Number = Convert.ToInt32(argument.Value);
						break;

					case "type":
						if (argument.Value == "breakpoint")
						{
							result.Type = BreakPointType.BreakPoint;
						}
						else
						{
							throw new Exception("Breakpoint type not implmented.");
						}
						break;

					case "disp":
						result.Visible = argument.Value == "keep";
						break;

					case "enabled":
						result.Enabled = argument.Value == "y";
						break;

					case "addr":
						if (argument.Value != "<MULTIPLE>")
						{
							result.Address = Convert.ToUInt64(argument.Value.Replace("0x", ""), 16);
						}
						break;

					case "func":
						result.Function = argument.Value;
						break;

					case "file":
						result.File = argument.Value.Replace("\\\\", "\\").NormalizePath();
						break;

					case "fullname":
						result.FullFileName = argument.Value.Replace("\\\\", "\\").NormalizePath();
						break;

					case "line":
						result.Line = Convert.ToUInt32(argument.Value);
						break;

					case "times":
						result.HitCount = Convert.ToInt32(argument.Value);
						break;

					case "original-location":
						result.OriginalLocation = argument.Value;
						break;

					default:
						Console.WriteLine("Unknown field in breakpoint data");
						break;
				}
			}

			return result;
		}
        public static LiveBreakPoint LiveBreakPointFromArgumentList(this NameValuePair[] argumentList)
        {
            var result = new LiveBreakPoint();

            foreach (var argument in argumentList)
            {
                switch (argument.Name)
                {
                case "number":
                    result.Number = Convert.ToInt32(argument.Value);
                    break;

                case "type":
                    if (argument.Value == "breakpoint")
                    {
                        result.Type = BreakPointType.BreakPoint;
                    }
                    else
                    {
                        throw new Exception("Breakpoint type not implmented.");
                    }
                    break;

                case "disp":
                    result.Visible = argument.Value == "keep";
                    break;

                case "enabled":
                    result.Enabled = argument.Value == "y";
                    break;

                case "addr":
                    if (argument.Value != "<MULTIPLE>")
                    {
                        result.Address = Convert.ToUInt64(argument.Value.Replace("0x", ""), 16);
                    }
                    break;

                case "func":
                    result.Function = argument.Value;
                    break;

                case "file":
                    result.File = argument.Value.Replace("\\\\", "\\").NormalizePath();
                    break;

                case "fullname":
                    result.FullFileName = argument.Value.Replace("\\\\", "\\").NormalizePath();
                    break;

                case "line":
                    result.Line = Convert.ToUInt32(argument.Value);
                    break;

                case "times":
                    result.HitCount = Convert.ToInt32(argument.Value);
                    break;

                case "original-location":
                    result.OriginalLocation = argument.Value;
                    break;

                case "thread-groups":

                    break;

                default:
                    Console.WriteLine("Unknown field in breakpoint data");
                    break;
                }
            }

            return(result);
        }