Каковы разумные варианты использования для свойства Debugger.IsAttached - PullRequest
0 голосов
/ 12 декабря 2018

.Net-свойство Debugger.IsAttached может использоваться во время выполнения для определения, подключен ли отладчик или нет.Это означает, что это свойство может использоваться для поведения другого поведения, когда отладчик подключен.Я легко могу привести примеры, которые показывают, почему бы не использовать это свойство (потому что программу будет сложно отлаживать), но мне трудно найти пример, в котором кажется, что оно допустимо для использования.

Есть ли у вас случаи использования, когда Debugger.IsAttached является разумным выбором для использования?

Ответы [ 3 ]

0 голосов
/ 12 декабря 2018

Я лично нахожу это полезным для регистрации.Когда отладчик подключен, регистрация ведется в окне консоли, если нет, то в настройках Nlog, которые фактически записывают журналы как json.

if (!Debugger.IsAttached)
    logging.AddNLog(NLogAspNetCoreOptions.Default);
else
    logging.AddConsole();
0 голосов
/ 12 декабря 2018

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

В моем случае используется Hangfire Dashboard.

Hangfire поставляется спанель мониторинга, но вы должны настроить ее при запуске приложения, панель мониторинга работает в режиме реального времени и потребляет ресурсы, которые мне не нужны, в производственной среде, поскольку никто не должен видеть ее только у меня во время отладки.Поэтому я установил условие запуска информационной панели, только когда я нахожусь в режиме отладки, чтобы я мог видеть запущенные задания и их состояние, а также причины их сбоя.

0 голосов
/ 12 декабря 2018

Вы можете использовать это свойство в некоторых сценариях для остановки службы в определенный момент, когда, например, отладчик подключен к удаленному серверу.Затем эта проверка будет сопровождаться Debugger.Break.

Другим вариантом использования может быть некоторое дополнительное ведение журнала (содержащее конфиденциальное или расширенное ведение журнала), которое записывается на консоль.

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