2013-03-27 6 views
5

Ich benutze das OpenTK GLControl (ein .Net OpenGL winforms Steuerelement), um einige Dinge mit opengl zu malen. Das Problem, dem ich jetzt gegenüberstehe, ist, dass ich ein großes rotes Kreuz oder x auf der Windows-Form bekomme, wo die Kontrolle liegt, und es ist absolut unmöglich zu debuggen, weil ich keine Möglichkeit finde zu wissen, wo der Fehler auftritt.Fenster bildet rot x, aber ich kann keine Fehlermeldung finden

Ich sehe keine Fehlermeldungen/Ausnahmen. Ich hatte die gleichen Probleme früher mit XNA, obwohl ich es aus anderen Gründen aufgab.

Vielleicht vermisse ich etwas. Gibt es irgendwo in Visual Studio ein Fenster, das ich öffnen kann, um diese Fehler zu sehen?

Die Fenster, die während des Debug-Modus automatisch geöffnet werden, sind Locals und Call Stack. Und sie sind völlig leer.

+0

Ich erinnere mich an das Problem, das ich mit XNA hatte, Mein Code versucht, einen negativen Index eines Arrays zuzugreifen. Im Debugger tauchte NICHTS auf. Ich musste überall WriteLine-Anweisungen eingeben, um den Fehler zu finden. XNA zeigte einfach ein rotes x. Was für ein Witz. – Dimension

Antwort

5

Sie könnten versuchen, alle Ausnahmen zu brechen - break on CLR exceptions. (Steuern/Alt + E, um das Dialogfeld aufzurufen, aktivieren Sie das Kontrollkästchen Common Language Runtime Exceptions).

Während Sie debuggen, sollte es anhalten, wo der Fehler auftritt.

Wenn Sie nichts finden, dass Art und Weise, Sie könnten in der Lage sein, etwas zu sehen, durch die Gesamt AppDomain Ausnahme abfangen, oder Threading Ausnahme - Details Here

+1

Vielen Dank, dass es geschafft hat! Es gab mir ein paar Fehler, die ich behoben habe und jetzt funktioniert alles. – Dimension

+0

Großartig! Ich bin froh, dass es funktioniert hat. – NDJ

+0

Wow, das ist ein seltsames Zeug. Eine Sache, die mein Code getan hat, ist das Aufrufen einer Methode einer Klasse durch eine Nullreferenz und das Aktualisieren einiger Variablen darin unter Verwendung der durch die Methode übergebenen Parameter. Das wurde nicht aufgefangen, bis ich Ihren Vorschlag anschaltete und eine NullReferenceException, "Objektreferenz nicht auf eine Instanz eines Objekts gesetzt" war. Es ist komisch, dass es funktioniert hat. – Dimension

0

die roten X in Windows Forms Designer aus einem Fehler kommen in Dein Farbcode. Um dies zu debuggen:

  • öffnen Sie Ihre Lösung in einem anderen Visual Studio-Instanz
  • Menü Debug> Attach to Process ...
  • wählen Devenv.exe

dann Ihre erste Visual Studio-Instanz wird debugged und Sie können Breakpoints in Ihrem Farbcode setzen.

Verwandte Themen