public static CoreEventBreakpoint FindByAddress(BreakPoints breakPoints, int address)
 {
     foreach (BreakPoint breakPoint in breakPoints)
     {
         CoreEventBreakpoint item = breakPoint as CoreEventBreakpoint;
         if (item != null)
         {
             if (item.AddressStart <= item.AddressEnd)
             {
                 if (address >= item.AddressStart && address <= item.AddressEnd)
                 {
                     return(item);
                 }
             }
             else
             {
                 if (address >= item.AddressStart || address <= item.AddressEnd)
                 {
                     return(item);
                 }
             }
         }
     }
     return(null);
 }
        /// <summary>
        /// Load/deserialize solution from file
        /// </summary>
        /// <param name="filename">filename should have extension .nmsln</param>
        public static BreakPoints LoadXml(string filename)
        {
            StreamReader sr = new StreamReader(filename);

            try
            {
                BreakPoints proj = Serializer.Deserialize(sr) as BreakPoints;
                return(proj);
            }
            finally
            {
                sr.Close();
            }
        }