Отладка Visual Studio .NET: тестируйте новый блок кода, используя переменные в существующей трассировке стека в точке останова - PullRequest
1 голос
/ 24 марта 2012

Я часто использую окно наблюдения в Visual Studio для отладки. Но это требует, чтобы вы поместили весь свой код в один оператор (без точки с запятой), чтобы получить результат. Есть ли способ, которым я могу использовать существующие переменные (которые находятся в области видимости) и написать блок кода (несколько строк кода) и проверить его встроенным во время отладки?


Ответьте, пока Microsoft не сделает улучшение:
Нет, я думаю, это невозможно - во время отладки запускается несколько строк (блок кода).

1 Ответ

3 голосов
/ 24 марта 2012

Да, вы можете использовать Immediate Window для таких целей.

Так, например, когда выполнение программы остановлено в точке останова, и вы хотите видеть состояние переменной втекущая область выполнения или даже оценить отложенный запрос LINQ.Просто введите имя переменной и нажмите ENTER - значение переменной будет напечатано.Чтобы оценить запрос LINQ, я использую ToList(), а затем индексатор, чтобы получить доступ к любому конкретному элементу, например, у вас есть такой запрос:

var items = input.Where(i => i.SomeCondition).Take(2);

Теперь просто перетащите это в Immediate Window:

// Count of the items will be printed
items.ToList().Count()

// see first element, element type/name/value/properties/etc will be printed
items.ToList()[0]

Важное замечание: вы можете оценить только одну строку кода за раз.

Более расширенное использование: Команды непосредственного окна

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...