Есть ли способ отключить очень раздражающую упаковку исключений WPF при отладке?
Примером может быть окно, которое владеет текстовым полем, текстовое поле привязано к свойству, метод получения для этого свойства выдает исключение, которое не может быть обработано платформой представления (например, throw new StackOverflowException ()).
Я должен видеть
get
{
throw new StackOverflowException(); // < Exception happened here
}
Вместо этого я вижу ...
No Source Available
Call Stack Location:
PresentationFramework.dll!MS.Internal.Data.PropertyPathWorker.RawValue(int k) + 0x64 bytes
Из-за обертывания исключений WPF это исключение также иногда перехватывается и отправляется, а затем либо повторно генерируется, либо скрывается глубоко внутри MS. Внутренние особенности и невозможно вернуться к фактическому сайту исключения. Это приводит к тому, что мы видим гигантский стек вызовов PresentationFramework.dll, PresentationCore.dll и WindowsBase.dll, но НЕТ пользовательского кода, кроме App.Main ().
Это происходит во время привязки, событий, вызываемых во время создания, и других совершенно случайных ситуаций без рифмы или причины (исключение во время нажатия кнопки иногда делает это со мной). Теперь да, я могу посмотреть на трассировку стека внутри исключения, но эта трассировка стека также в значительной степени бессмысленна, потому что я не могу вернуться к этому кадру, чтобы увидеть, какие переменные находятся во время выброса.