2013-03-27 6 views
5

Używam OpenTK GLControl (a. NET OpenGL kontrola WinForm) do malowania niektórych rzeczy przy użyciu OpenGL. Problem, z którym teraz się borykam, polega na tym, że dostaję duży czerwony krzyżyk lub x na formularzu okna, w którym znajduje się kontrola, i jest to całkowicie niemożliwe do debugowania, ponieważ nie znajduję sposobu, aby wiedzieć, gdzie występuje błąd.Okno formy czerwone x, ale nie mogę znaleźć powiadomienia o błędzie

Nie widzę powiadomień o błędach/wyjątków. Miałem te same problemy wcześniej z XNA, ale przestałem używać go z innych powodów.

Być może brakuje mi czegoś. Czy gdzieś w Visual Studio jest okno, które mogę otworzyć i zobaczyć te błędy?

Okna otwierane automatycznie podczas trybu debugowania to Locals i Call Stack. I są całkowicie puste.

+0

Pamiętam problem, który miałem z XNA, Mój kod próbował uzyskać dostęp do ujemnego indeksu tablicy. Jednak NIC nie pojawił się w debugerze. Musiałem napisać wyciągi WriteLine wszędzie, aby znaleźć błąd. XNA po prostu pokazał czerwone x. Co za żart. – Dimension

Odpowiedz

5

Możesz spróbować złamać wszystkie wyjątki - break on CLR exceptions. (Control/Alt + E, aby wywołać okno dialogowe, następnie zaznacz pole wyboru Common Language Runtime Exceptions).

Podczas debugowania powinno się zatrzymać w miejscu wystąpienia błędu.

Jeśli nie można znaleźć niczego w ten sposób, może być w stanie zobaczyć coś przez połowu ogólny wyjątek AppDomain lub Threading wyjątek - Szczegóły Here

+1

Dziękuję bardzo, że to zrobili! Dało mi to kilka błędów, które naprawiłem i teraz wszystko działa. – Dimension

+0

Świetnie! Cieszę się, że to działa. – NDJ

+0

Wow, to jakieś dziwne rzeczy. Jedną z rzeczy, które robił mój kod, jest wywoływanie metody klasy poprzez odwołanie zerowe i aktualizowanie niektórych zmiennych za pomocą parametrów przekazywanych za pomocą metody. To nie zostało uchwycone, dopóki nie włączyłem Twojej sugestii i wyrzucił wyjątek NullReferenceException, "Odwołanie do obiektu nie jest ustawione na instancję obiektu". To dziwne, że zadziałało. – Dimension

0

czerwony znak X w Windows Forms projektant pochodzi z błędu w twój kod farby. W tym celu debugowania:

  • otworzyć swoje rozwiązanie w innym Visual Studio przykład
  • menu Debug> Attach to Process ...
  • wybrać devenv.exe

wtedy swój pierwszy studyjny wizualnej instancję zostanie zdebugowany i możesz ustawić punkty przerwania w twoim kodzie malarskim.

Powiązane problemy