2010-12-29 11 views
12

Jeśli w moim programie wystąpił wyjątek i nie jest on obsługiwany, oczekuję, że debugger włamie się do mojego programu i pokaże mi, na czym polega problem. Tak się nie stało. Zamiast tego mój program po prostu wychodzi, a debugowanie zatrzymuje się.Dlaczego program Visual Studio 2010 nie złamał nieobsługiwanego wyjątku?

Jeśli patrzę na wyjściu debugowania, widzę mój wyjątek:

pierwszej szansy wyjątek typu „System.NullReferenceException” wystąpił w System.dll

jestem przy użyciu Visual Studio 2010, Visual Basic, pisanie prostej aplikacji WinForm. Kod nie ma znaczenia w tym przypadku ... zdarza się z wyjątkiem każdy wyjątek, które widziałem do tej pory.

Czytałem dużo w Internecie o zrobieniu z menu Debug i klikając Wyjątki i umożliwienie „break na nieobsługiwany wyjątek użytkownika”, ale nie widzę tej opcji. Myślę, że ta rada dotyczy VS2008 i nie ma już zastosowania.

Należy również zauważyć, że nie przeprowadzam żadnych testów jednostkowych. Nigdy ich nie skonfigurowałem. Czytałem jednak, że być może tester jednostki połyka moje wyjątki?

Proszę poinformować mnie, jak zmienić zachowanie Visual Studio, dzięki czemu mogę wyśledzić te nieobsłużone wyjątki.

Dziękuję za poświęcony czas.

+0

Czy używasz 64-bitowej wersji systemu Windows? –

+0

@Cody, nie Używam Windows XP SP3, 32-bitowy. – Brad

Odpowiedz

16

Element może nie być w menu, który można naprawić, dostosowując menu i dodając element do menu debugowania.

Należy także być w stanie dostać się do menu wyjątków przy użyciu Ctrl + Alt + E

Trzeba zaznaczyć pole w „rzucony” kolumny wyjątków Common Language Runtime (CLR)

+0

Dzięki Sohnee. Aby wyjaśnić, widzę * Wyjątki * w menu debugowania i można go wyciągnąć. Wszystko, co widzę to opcje C++, CLR, Manage Debugging Assistants, itp. Szukanie użytkownika niczego nie wyskoczyło nic wartościowego. – Brad

+3

Musisz zaznaczyć pole w kolumnie "Wyrzucane" dla wyjątków środowiska wykonawczego języka wspólnego (CLR). Zapewni to złamanie wszystkich błędów. Dodam ten szczegół do odpowiedzi. – Fenton

+0

@Sohnee, to działa teraz, dzięki. Czy to również naruszy obsługiwane wyjątki? Jeśli tak, czy możliwe jest złamanie tylko nieobsługiwanych wyjątków? – Brad

0

ja miał ten sam problem. Otworzyłem okno dialogowe wyjątków i kliknąłem przycisk "Przywróć listę do ustawień domyślnych", a teraz łamie on nieobsługiwane wyjątki poprawnie.

Prawdopodobnie wystąpił błąd podczas aktualizacji 2013.

+0

W moim przypadku było to Visual Studio 2010, ale dobrze wiedzieć, że zostało naprawione w późniejszych wersjach. – Brad

Powiązane problemy