Gute Möglichkeit, Visual Studio Designer-Fehler zu debuggen
Ist es ein guter Weg, um debug-Fehler in Visual Studio-Designer?
In unserem Projekt haben wir Tonnen von Benutzersteuerelemente und viele komplexe Formen. Für die komplexeren, die Designer oft wirft verschiedene Ausnahmen, in denen nicht viel helfen, und ich Frage mich, ob es etwas schöner Weg, um herauszufinden, was schief gegangen ist.
Die Sprache ist C#, und wir sind mit Visual Studio 2005.
InformationsquelleAutor der Frage Daisuke Shimamoto | 2008-09-02
Du musst angemeldet sein, um einen Kommentar abzugeben.
Sehen Debugging-Entwurfszeit-Steuerelemente (MSDN).
InformationsquelleAutor der Antwort
Ich habe in der Lage, einige debug-control-designer-Probleme durch ausführen einer zweiten Instanz von VS, dann von Ihrem ersten VS-Instanz ein "Debug -> an den Prozess Anhängen" und wählen Sie "devenv".
Den ersten VS-Instanz ist, wo Sie Haltepunkte festzulegen. Verwenden Sie die zweite Instanz zu laden, bis die designer zu verursachen, die "designer" - code ausgeführt werden.
InformationsquelleAutor der Antwort Craig
Es wurde ein Schmerz in den Jahren 2005 und noch im Jahr 2015. Haltepunkte wird oft nicht getroffen, wahrscheinlich, weil der Baugruppen als Schatten kopiert oder etwas, das der designer(?). Das beste, was Sie tun können, ist zu brechen, manuell durch die Einführung eines Anrufs zu
Debugger.Break()
. Sie können wickeln Sie es in ein compiler-bedingte als so:InformationsquelleAutor der Antwort Haymo Kutschbach
Ich habe dies geschieht viele Male und es ist eine echte Schmerzen.
Erstens würde ich vorschlagen, Sie versuchen zu Folgen, die stack-trace zur Verfügung gestellt von dem designer, aber ich fand, dass oft einfache Listen eine Reihe von Interna Zeug, das nicht viel nutzen.
Wenn das nicht funktioniert, versuchen Sie dann kompilieren und die Bestimmung der Ausnahme von dort. Sie sind wirklich im Blindflug, das ist das problem. Du könntest dann versuchen einfach den code ausgeführt wird und zu sehen, welche Ausnahme ausgelöst, wenn Sie es ausführen, das sollte geben Sie Sie einige weitere Informationen.
Einem letzten Aufbäumen Ansatz könnte sein, entfernen Sie alle nicht-generierter code aus dem Formular und nach und nach wieder einzuführen, um festzustellen, welche Fehler.
Wenn Sie benutzerdefinierte Steuerelemente, die Sie könnte manuell entfernen, wird der generierte code für das benutzerdefinierte Steuerelemente wie gut, wenn die Vorherige Methode noch zu einem Fehler führt. Sie können dann wieder einzuführen diese Schritt-für-Schritt in der gleichen Weise zu bestimmen, welche custom control ist das problem verursacht, gehen Sie dann und Debuggen, getrennt.
Grundsätzlich so weit wie ich kann sagen, es gibt keinen wirklichen Weg, um das problem andere als slog es ein bisschen!
InformationsquelleAutor der Antwort ljs
Ich herausgefunden, warum manchmal Haltepunkte werden nicht erreicht. In der an den Prozess Anhängen dialog "Anfügen an:" Typ "Wählen Sie..."'d....
Einmal wechselte ich zu "Managed 4.0, 4.5", breakpoints für ein WinRT Anwendung getroffen wurden. Quelle: Designer-Debugging in WinRT.
InformationsquelleAutor der Antwort ShawnFeatherly
Jede ist anders und manchmal kann man Sie verdecken. Als ersten Schritt würde ich Folgendes tun:
InformationsquelleAutor der Antwort Yaakov Ellis
Können Sie starten Sie eine zweite Instanz von VS und befestigen Sie es an die erste Instanz von VS (Strg+Alt+P). In der ersten Instanz legen Sie die Haltepunkte, in die zweite Instanz führen Sie den designer, und der breakpoint wird ausgelöst. Sie können Schritt für Schritt durch den code, aber Bearbeiten und Fortfahren funktioniert nicht.
Bearbeiten und Weiter zu arbeiten, stellen Sie control library debug-Optionen laufen ein VS mit den command-line-argument ist die Lösung mit dem Namen. Dann können Sie einfach legen Sie die Haltepunkte und drücken Sie die Taste F5. Es werden debug-genauso wie Benutzer-code! Als Seite beachten, können Sie dies tun, wird die VS und Office-add-ins auch.
InformationsquelleAutor der Antwort Kevin Phelps