Просмотр значений переменных во время выполнения в VisualStudio

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

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

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

спасибо

6 ответов


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

System.Diagnostics.Debug.WriteLine(variable);

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

Ура.


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


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


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

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

в visual studio 2010 (возможно, в более ранних версиях я не проверял) условная точка останова может быть установлена для печати значения переменной и продолжения работы. Это делается, щелкнув правой кнопкой мыши точку останова и выбрав "при попадании". Затем открывается диалоговое окно, в котором можно указать, что и как печатать. Он отлично работал для меня в родном проекте C.