Какие специальные переменные доступны в окне просмотра Visual Studio в .NET? - PullRequest
17 голосов
/ 04 марта 2010

Я только что узнал об исключении $ вчера в окне просмотра VS.NET для .NET. Это показывает текущее исключение, которое было сгенерировано и позволяет сэкономить много времени, поскольку не нужно находить маленький значок с восклицательным знаком и наводить на него курсор.

Какие еще специальные переменные есть в окне просмотра?

(Примечание: этот вопрос касается .NET, а не C ++.)

Ответы [ 5 ]

9 голосов
/ 02 марта 2015

Поддерживается Псевдопеременные в Visual Studio для отладки .NET:

  • $ исключение : отображение информации о последнем исключении. Если исключение не произошло, оценка $exception отображает сообщение об ошибке. Только в Visual C #, когда помощник по исключениям отключен, $exception автоматически добавляется в окно Locals при возникновении исключения.
  • $ user : отображает структуру с информацией об учетной записи для учетной записи, на которой запущено приложение. Из соображений безопасности информация о пароле не отображается.

Следующее относится только к Visual Basic:

  • $ delete или $$ delete : Удаляет неявную переменную, созданную в окне Immediate . Синтаксис: $delete, переменная или $$delete, переменная .
  • $ objectids или $ listobjectids : отображает все активные идентификаторы объектов как дочерние элементы указанного выражения. Синтаксис: $objectid, выражение или $listobjectids, выражение .
  • $ N # : отображение объекта с идентификатором объекта, равным N .
  • $ dynamic : Отображает специальный Dynamic View узел для объекта, который реализует IDynamicMetaObjectProvider. Интерфейс. Синтаксис: $dynamic, объект . Эта функция применяется только к коду, который использует .NET Framework версии 4. См. Динамическое представление .
8 голосов
/ 04 марта 2010

Если вы щелкнете правой кнопкой мыши любую переменную в окне Watch, вы можете создать Object ID . Это даст вам номер, например, первый идентификатор объекта будет 1 #.

Идентификатор объекта представляет конкретный экземпляр. Затем экземпляр можно наблюдать в окне Watch, как обычную переменную, но вы можете продолжать наблюдать за экземпляром, даже когда локальная ссылка выходит из области видимости. Когда в конце концов он соберет мусор, вы потеряете к нему доступ.

2 голосов
/ 10 октября 2012

@ ERR ; Значение последней ошибки, то же значение, возвращаемое API-функцией GetLastError ()

@ TIB ; Информационный блок потока для текущего потока

@ CLK Недокументированный регистр часов; можно использовать только в окне просмотра

@ EAX, @EBX, @ECX, @EDX, @ESI, @EDI, @EIP, @ESP, @EBP, @EFL ; ЦП Intel регистрирует

@ CS, @DS, @ES, @SS, @FS, @GS ; Сегментные регистры процессора Intel

@ ST0, @ ST1, @ ST2, @ ST3, @ ST4, @ ST5, @ ST6, @ ST7 ; Регистры с плавающей точкой процессора Intel

2 голосов
/ 05 марта 2010

Псевдопеременная $ user - единственная другая документированная. В VS2010 отладчик VB.NET получает некоторые новые .

2 голосов
/ 04 марта 2010

Использование «@err» отобразит значение GetLastError (), а «@ err, hr» отобразит сообщение об ошибке.

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