c# - Отладка цикла foreach в C #: что это за итерация?




4 Answers

Установите точку останова внутри цикла, затем щелкните правой кнопкой мыши точку останова, чтобы установить условия. Вы также можете щелкнуть правой кнопкой мыши, чтобы увидеть количество попаданий при отладке и сбросить его, если хотите. Вы можете установить логическое выражение, которое оценивается, когда точка останова набирает условный разрыв (или просто переходит).

c# .net visual-studio debugging foreach

Помимо установки переменной отладки и увеличения ее каждый раз, когда вы запускаете foreach, когда вы входите в подключенный отладчик Visual Studio, есть ли способ сказать, что это X-е время через цикл?

Я предполагаю, что это будет особенностью Visual Studio, если что-нибудь, а не что-то, что будет добавлено в скомпилированный код.




Может быть, вы можете использовать число попаданий точки останова. Не совсем то, что вы хотите, но может быть полезно.

Также есть серьезная причина, по которой вы не хотите использовать цикл в этом случае.




Вы пытались использовать утверждение при отладке? Отладчик будет запущен в этой точной точке вашего кода:
Например: System.Diagnostics.Debug.Assert (myValue> = 0)




Допустим, ваш код

foreach (String line in lines){
    Console.WriteLine(line);//breakpoint here
}

Поместите контрольную точку внутри цикла foreach , запустите «Immediate window» и выполните следующий код Array.IndexOf(lines, line);




Related