Debugger.Launch (), Trace.Assert (ошибка) не работает - PullRequest
2 голосов
/ 04 февраля 2010

(Обратите внимание, что этот вопрос был помечен как отвеченный в Отладка заданий таймера Sharepoint , но у меня все еще возникают проблемы)

Я не могу отладить задание таймера SharePoint. Обычно я могу сделать это, установив один из них:

  • Debugger.Launch()
  • Trace.Assert(false)

Но диалог не отображается. У меня есть log4net OutputDebugStringAppender, чтобы я мог использовать DebugView для мониторинга вывода, и я вижу, что DEBUG ASSERTION FAILED записывается в журнал отладки. Я попытался удалить приложение, если оно могло что-то испортить, но безуспешно.

(Перестройка, перезапуск, сброс IIS, сброс службы, pdb-файлы в сборке завершены)

Так почему же диалоговое окно не отображается? Я мог бы действительно помочь с отладкой этой работы таймера и был бы очень благодарен за любые идеи.

1 Ответ

1 голос
/ 23 февраля 2011

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

Вы можете найти, подключен ли отладчик к этому:

System.Diagnostics.Debugger.IsAttached

Попробуй так:

if(!System.Diagnostics.Debugger.IsAttached)
{
     System.Diagnostics.Debugger.Launch();
}
Trace.Assert(false)//Trace is not bound to Debug or Release mode so will always run
...