Подтвердить что ты не робот

Visual Studio смешно медленно отлаживает

Я пытаюсь отлаживать программу в VS2010, используя точку останова с булевым условием. Эта конкретная точка останова очень медленная, поэтому моя программа работает в сотни раз медленнее, чем без условия, или с помощью обычной безусловной точки останова.

Мой вопрос: это распространенная проблема с визуальной студией, я не могу поверить, что отладчик может быть таким медленным? Булево выражение очень просто, оно просто говорит, что разбить программу, когда я == x внутри цикла for.

Любая помощь оценивается, поскольку она делает отладку очень болезненной.

Спасибо Ричард

        public static RawNetCalculationResults newCATXLNets(IList<Loss> RawLosses, IList<ReinsuranceProgramme> Programme) //Loss contains the properties Year, EventID, Loss Value
    {
        List<Recoveries> NetRawLosses = new List<Recoveries>(RawLosses.Count * Programme.Count);    //Initiate list with required capacity

        //Loop over each element in RawLosses List and do some calculations
        foreach (var e in RawLosses)
        {                           //<----BREAK POINT HERE (e.Year == x)
            foreach (var layer in Programme.Where(x => x.Type == ReinsuranceType.CATXL))
            {
4b9b3361

Ответ 1

Да, условные точки останова медленны.

В качестве альтернативы вы можете использовать Debug.Assert:

Debug.Assert( i != x );

Это приведет к тому, что assert будет срабатывать при i == x, и вы сможете отлаживать оттуда.