niedziela, 3 października 2010

Tajemnicze komunikaty debuggera


Podczas ostatnich prac z WPF'em napotykałem na strasznie irytujące sytuacje kiedy po uruchomieniu aplikacji wraz z debuggerem otrzymywałem nic nie mówiące mi komunikaty. Dla przykładu:
An unhandled exception of type 'System.Windows.Markup.XamlParseException' occurred in PresentationFramework.dll

Additional information: 'Add value to collection of type 'System.Windows.Controls.UIElementCollection' threw an exception.' Line number '6' and line position '10'.

I bądź tu mądry człowieku! Poczułem się jakbym wracał do dawnych czasów pisania programów w C/C++ kiedy otrzymywałem tylko komunikat segmentation failure i program kończył działania. Moja irytacja tym faktem była na tyle duża, że przerywałem pracę i zajmowałem się czymś innym dla ukojenia skołatanych nerwów.
Oczywiście wystarczyło trochę poszukać na niezawodnym StackOverflow. Rozwiązanie jest niesłychanie proste. Wybieramy kolejno Debug -> Exceptions i zaznaczamy haczyk przy opcji Common Language Runtime Exceptions. Po tej zmianie dalej otrzymujemy wyjątki, jednak teraz mają one jakąkolwiek wartość. Poprzednio wspomniany wyjątek zamienia się na:
A first chance exception of type 'System.InvalidOperationException' occurred in PresentationFramework.dll

Additional information: Window must be the root of the tree. Cannot add Window as a child of Visual.

Dodatkowe informacje są na tyle pomocne, że od razu znalazłem oczywisty błąd na który nie zwracałem uwagi i wszystko wróciło do normy. Jestem jednak mocno zdziwiony czemu takie informacje nie są wyśtwietlana "out of the box".

Brak komentarzy:

Prześlij komentarz