Препятствовать тому, чтобы DebuggerStepThroughAttribute обратился к моему non-xsd-generated частичному классу?

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

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

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

библиотеки Dynamic считались лучшим подходом большую часть времени, но первоначально у них был главный дефект (ад google DLL), который был почти устранен более свежим Windows OSes (Windows XP в особенности).

17
задан Lyndal 8 July 2009 в 18:58
поделиться

1 ответ

  1. Вы можете заставить отладчик игнорировать этот атрибут в Инструменты-> Параметры-> Отладчик-> Общие. Снимите флажок «Включить только мой код (только управляемый)».
  2. Вы также можете просто использовать частичный класс как оболочку для другого класса / методов. Методы в частичном классе будут просто заглушками, которые вызывают фактические методы в новом классе. Отладчик пропустит метод, украшенный атрибутом, но все же позволит вам пройти через класс, который они обертывают. Пример ниже ...

//

[DebuggerStepThrough]
static void DebuggerStepThroughInPartialClass()
{
   WrappedClass.NonDebuggerStepThrough();
}

class WrappedClass{
   static void NonDebuggerStepThroughInNewClass()
   {
      int bar = 0;
      bar++;
   }
}
11
ответ дан 30 November 2019 в 14:33
поделиться
Другие вопросы по тегам:

Похожие вопросы: