Окно часов Visual Studio серое? - PullRequest
10 голосов
/ 10 июля 2009

У меня есть приложение VB, которое мне нужно отслеживать, пока оно работает. Я добавил некоторые переменные в окно Watch, но пока приложение запущено, окно watch неактивно. Единственный способ увидеть значения переменных, который я нашел, - использовать Debug -> Break All, но это останавливает программу.

Я использовал другие IDE, и они позволяют отслеживать активные переменные. Возможно ли это в VS?

Извините, если это нубский вопрос.

ОБНОВЛЕНИЕ: Для ясности, мое приложение обменивается данными с лабораторным оборудованием, и при отправке или получении данных или обнаружении ошибок счетчики увеличиваются. Я хотел бы посмотреть эти счетчики, но я не хочу создавать экран для этого, поскольку они предназначены для отладки. Я просто предположил, что это базовая функциональность в любой IDE

SHOCKED: Кажется, что Visual Studio не предлагает эту (что я хотел бы рассмотреть) базовую функциональность. Для тех, кто, кажется, думает, что это невозможно с интерпретированным языком, рассмотрите этот мысленный эксперимент. Если вы быстро нажали Break All, а затем Continue, вы бы обновили окно просмотра - правильно? Почему тогда Visual Studio не может сделать это одной командой Refresh Watch или, что еще лучше, разрешить этой функции автоматически запускаться в течение периода, указанного пользователем. Нет записи отладки, нет файлов журнала, нет остановки вашей программы в середине потока и создания таймаутов. Я просто шокирован, что ты не можешь этого сделать. Это немного похоже на отсутствие точек останова.

Ответы [ 5 ]

6 голосов
/ 10 июля 2009

Какая среда IDE или среда разработки отображает - в режиме реального времени - значения переменных в окне Watch без необходимости устанавливать какие-либо контрольные точки во время работы приложения?

Visual Studio не предоставляет этого. Чтобы получать обновленные значения в окне «Просмотр» или редактировать элементы там, приложение должно находиться на точке останова или отладки.

5 голосов
/ 10 июля 2009

После того, как вы сделали «перерыв», чтобы передать управление программой отладчику, вы можете «пошагово» пройти по коду с помощью функциональных клавиш, таких как F10 и F11. Во время каждого «шага» программа оценивает одно или несколько утверждений; после каждого шага он останавливается (до следующего шага), и пока (только пока) он остановлен, вы можете «наблюдать» его текущее состояние.

Существуют и другие способы проникновения в отладчик (использовать окно «Просмотр», когда программа остановлена): другие способы, такие как установка «точек останова» и использование функции «бегать к курсору».


Конечно, но остановка программы, которая активно получает или отправляет данные другому процессу, драйверу и т. Д., Останавливает эту связь и вызывает таймауты и другие проблемы.

Это правда. Чтобы наблюдать за изменениями в реальном времени, я использую файл журнала:

  • Добавить операторы в мой код, чтобы при изменении значения переменной я отправлял новую строку в файл журнала (показывая измененное значение)

  • Запустить программу

  • Наблюдайте, как новые строки добавляются в файл журнала с помощью такой утилиты, как tail -f.

Я никогда не видел отладчик с упомянутыми вами функциями. Самая близкая вещь к функциональности, которую вы упомянули (и которая не совсем функциональность, которую вы упомянули), это Как: установить точку останова данных (только для собственного) .

2 голосов
/ 10 июля 2009

То, что вы пытаетесь сделать, невозможно в Visual Studio. Все переменные контрольные окна (часы, местные жители, автомашины и т. Д.) Полагаются на то, что процесс отладчика находится в состоянии прерывания, чтобы функционировать.

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

Мне интересно, на какую IDE вы ссылаетесь? Они имели дело с устными языками?

0 голосов
/ 10 июля 2009
0 голосов
/ 10 июля 2009

Убедитесь, что вы находитесь в сборке «Отладка» и Microsoft Debugger работает как служба и не заблокирована / отключена.

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