Как сказать отладчику игнорировать взломанные исключения?

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

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

Как я могу сказать отладчику не прерывать эти пользовательские исключения?

P.S. Я уже пытался отфильтровать Debug → Exceptions (добавлено в Common Language Runtime Exceptions), но это не сработало для меня. Отладчик все еще останавливается в строке, где вызывается библиотека.

P.P.S. Использование Visual Studio 2010.

For the non-believers

Ответ:

В конце концов, я был очень близок с моим PS. Это была довольно глупая ошибка: у меня была опечатка в пространстве имен. Спасибо Pop Catalin и Madhur Ahuja за то, что указали!

Ответ 2

Отладка + Исключения, нажмите кнопку "Добавить". Задайте тип "Исключения общего времени выполнения языка" и Имя для полного имени настраиваемого исключения, включая имя пространства имен. Теперь вы можете отключить окно "Бросок" для этого, сначала при необходимости разверните node.

Ответ 3

Предполагая, что вы хотите сломаться, когда возникло непредвиденное событие, вы действительно должны скрыть метод от отладчика с помощью метода [System.Diagnostics.DebuggerHidden].

Ответ 4

Это не ошибка в отладчике, это было преднамеренное изменение. В то время как поведение отличается и может быть запутанным, его нужно было изменить в Visual Studio 2010 для поддержки нескольких других сценариев, включая Отладка Silverlight.

  • Отключить "прерывание пользовательских необработанных исключений" для типов исключений, с которыми вы сталкиваетесь здесь (через Debug → Exceptions).
  • Отключить "прерывание пользовательских необработанных исключений" для всех исключений (через Debug → Exceptions)

Подробнее см. здесь.

Нарушение исключений в VS2010

Ответ 5

Это сработало для меня: [DebuggerHidden]