#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
?