Не удается переместить желтый курсор отладчика после возникновения исключения

#visual-studio-2019 #resharper

#visual-studio-2019 #resharper

Вопрос:

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

Кажется, что теперь, когда возникают какие-то исключения, невозможно переместить курсор отладчика, пока не будет обнаружено исключение. Есть ли обходной путь, чтобы заставить это снова работать?

Это значительно затрудняет выполнение быстрого тестирования.

Редактировать:

  • Это появилось после обновления до версии 16.8 (затем 16.8.1)

  • Проблема возникает с .NET 5 или .NET 3.1 или .NET framework 4.7.2, а не с фреймворком

  • Я удалил Resharper, чтобы исключить это

  • если я просто создам новое исключение («Пауза»); или разделю на ноль, это не вызовет проблемы.

  • если это связано с Sytstem.Linq тогда у меня будет проблема.

Пример:

 using System;
using System.Linq;

namespace TestDebug
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Hello World!");
         
            int[] test = null;

            var error = test.Any();

            Console.WriteLine("Bye bye World!");
        }
    }
}
  

ПРАВКА2:
Всплывающая подсказка в моем примере отличается от того, что я видел бы с другим исключением, таким как исключение деления на ноль. (см. Комментарий).

Всплывающая подсказка, когда я не могу перетащить курсор, гласит: «Это следующий оператор для выполнения, когда этот поток возвращается из текущей функции»

Он не предлагает перетаскивать курсор, как это обычно делается

Комментарии:

1. Что вы пробовали до сих пор? Если вы подозреваете, что ReSharper отключен или удален, отключили ли вы его или удалили? Раньше это работало, что изменилось с тех пор? Вы пробовали новое тестовое приложение? Какой язык вы используете? Вам необходимо указать детали перемещения. Если это вообще помогает, у меня все еще работает для C # (.net 5) с Visual Studio 2019 16.8.1 и ReSharper 2020.3 EAP7)

2. спасибо, та же конфигурация. Net 5, vs 2019 16.8.1 и resharper EAP7, единственным изменением, приведшим к проблеме, было обновление по сравнению с Я отредактирую вопрос соответствующим образом, чтобы уменьшить возможности. Не могли бы вы подтвердить, что у вас нет проблемы с моим примером, пожалуйста?

3. Спасибо за обновление деталей в вашем вопросе. Я попробовал ваш пример и могу перетащить индикатор «курсор отладки» в предыдущие инструкции и запустить повторно. Кстати, индикатор «курсор отладки» не желтый в точке исключения, но становится желтым при его перемещении.

4. При такой операции, как 1/0, я вижу исключение с желтой стрелкой, и в нем говорится: «Это следующий оператор, который будет выполнен. Чтобы изменить, какой оператор выполняется следующим, перетащите стрелку …» в то время как в моем примере стрелка зеленая, а во всплывающей подсказке написано: «Это следующий оператор для выполнения, когда этот поток возвращается из текущей функции».

5. Я получаю то же самое и могу перетащить стрелку в обоих случаях — вы тоже можете? Я полагаю, у вас Options включен -> Debugging -> General -> Enable Edit and Continue ?