Просмотр значений переменных во время выполнения в VisualStudio - PullRequest
9 голосов
/ 20 июля 2010

Можно ли использовать какой-либо инструмент для просмотра значений переменных в реальном времени при выполнении кода в VS?

Сейчас я вижу их только тогда, когда сохраняю точку останова. Но проблема в том, чтоКод прекрасно работает, когда я сохраняю точку останова. Он портится только тогда, когда он работает быстро.

Любая помощь будет оценена.

Спасибо

Ответы [ 6 ]

11 голосов
/ 20 июля 2010

Переменные можно просматривать только при наличии точки останова, однако вы можете просто вручную записать значения переменных в окно вывода Visual Studios:

System.Diagnostics.Debug.WriteLine(variable);
0 голосов
/ 31 июля 2012

В Visual Studio 2010 (возможно, в более ранних версиях я не проверял) можно установить условную точку останова для печати значения переменной и продолжения работы. Это можно сделать, щелкнув правой кнопкой мыши точку останова и выбрав «При попадании». Затем открывается диалоговое окно, в котором вы можете указать, что и как печатать. У меня это нормально работало в родном C-проекте.

0 голосов
/ 20 июля 2010

Все вышеупомянутые методы (выгрузка в консоль, использование Debug.Write, настраиваемое ведение журнала и т. Д. И т. Д.) Для выгрузки содержимого переменных сделают свое дело.

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

0 голосов
/ 20 июля 2010

Используйте Debug.Write для распечатки переменных.Вы также можете использовать профилировщик.

0 голосов
/ 20 июля 2010

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

0 голосов
/ 20 июля 2010

По моему мнению, вместо установки точек останова, вы можете использовать Debug.Write(yourVariable) в режиме отладки, чтобы вы могли наблюдать значение в окнах вывода.

Приветствия.

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