Freigeben über


Erstellen von Code in Visual Studio

Visual Studio enthält eine leistungsstarke integrierte Gruppe von Projektbuild- und Debuggingtools. In diesem Artikel wird beschrieben, wie Visual Studio Ihnen helfen kann, Probleme in Ihrem Code mithilfe von Buildausgabe, Codeanalyse, Debuggingtools und Komponententests zu finden.

Sie haben den Editor verstanden und etwas Code erstellt. Jetzt möchten Sie sicherstellen, dass der Code ordnungsgemäß funktioniert. In Visual Studio gibt es wie bei den meisten IDEs zwei Phasen zum Erstellen von Code: Erstellen des Codes zum Abfangen und Beheben von Projekt- und Compilerfehlern und Ausführen des Codes zum Auffinden von Laufzeit- und dynamischen Fehlern.

Erstellen des Codes

Es gibt zwei grundlegende Typen von Buildkonfiguration: Debug und Release. Die Debugkonfiguration erzeugt eine langsamere, größere ausführbare Datei, die ein umfangreicheres interaktives Laufzeitdebugging ermöglicht. Die ausführbare Debug-Datei sollte niemals ausgeliefert werden. Die Releasekonfiguration erstellt eine schnellere, optimierte ausführbare Datei, die für das Versenden geeignet ist (zumindest aus Sicht des Compilers). Die Standardbuildkonfiguration ist Debug.

Die einfachste Möglichkeit zum Erstellen Ihres Projekts besteht darin, F7 zu drücken, aber Sie können den Build auch starten, indem Sie im Hauptmenü "> erstellen" auswählen.

Screenshot des Menüs

Sie können den Buildprozess im Ausgabefenster unten auf der Visual Studio-Benutzeroberfläche (Benutzeroberfläche) beobachten. Hier werden Fehler, Warnungen und Buildvorgänge angezeigt. Wenn Fehler auftreten (oder wenn Sie Warnungen über einer konfigurierten Ebene haben), schlägt ihr Build fehl. Sie können die Fehler und Warnungen auswählen, um zu der Zeile zu gelangen, in der sie aufgetreten sind. Erstellen Sie Ihr Projekt neu, indem Sie F7 erneut drücken (um nur die Dateien mit Fehlern neu zu kompilieren) oder STRG+ALT+F7 (für eine übersichtliche und vollständige Neuerstellung).

Es gibt zwei Fenster mit Registerkarten im Ergebnisfenster unterhalb des Editors: das Ausgabefenster , das die unformatierte Compilerausgabe (einschließlich Fehlermeldungen) enthält; und das Fenster " Fehlerliste ", das eine sortierbare und filterbare Liste aller Fehler und Warnungen bereitstellt.

Wenn der Build erfolgreich ist, werden ergebnisse wie im Ausgabefenster angezeigt:

Screenshot einer erfolgreichen Buildausgabe in Visual Studio.

Überprüfen der Fehlerliste

Sofern Sie keinen Code geändert haben, den Sie zuvor erstellt und erfolgreich kompiliert haben, ist wahrscheinlich ein Fehler aufgetreten. Wenn Sie mit der Codierung noch nicht fertig sind, haben Sie wahrscheinlich viele davon. Fehler sind manchmal offensichtlich, z. B. ein einfacher Syntaxfehler oder ein falscher Variablenname, und manchmal sind sie schwer zu verstehen, mit nur einem kryptischen Code, um Sie zu führen. Um eine übersichtlichere Ansicht der Probleme anzuzeigen, navigieren Sie zum unteren Rand des Buildausgabefensters , und wählen Sie die Registerkarte " Fehlerliste " aus. Diese Aktion führt Sie zu einer übersichtlicheren Ansicht der Fehler und Warnungen für Ihr Projekt und bietet Ihnen auch einige zusätzliche Optionen.

Screenshot der Visual Studio-Ausgabe- und Fehlerliste.

Wählen Sie in der Fehlerzeile im Fenster " Fehlerliste " die Option aus, um zur Zeile zu springen, in der der Fehler auftritt. (Oder aktivieren Sie Zeilennummern, indem Sie STRG+Q drücken, Zeilennummern eingeben und dann Zeilennummern aktivieren oder deaktivieren aus den Ergebnissen wählen. Diese Aktion ist der schnellste Weg, zum Optionen-Dialogfeld zu gelangen, wo Sie Zeilennummern aktivieren können.)

Screenshot des Visual Studio-Editors mit Zeilennummern.

Screenshot der Option

Drücken Sie STRG+G , um schnell zur Zeilennummer zu springen, an der der Fehler aufgetreten ist.

Visual Studio identifiziert diesen Fehler mit einem roten "Squiggle" Unterstrich. Zeigen Sie darauf, um weitere Details anzuzeigen. Führen Sie die Korrektur durch, und das Problem wird behoben, obwohl bei der Korrektur möglicherweise ein neuer Fehler auftreten kann. (Diese Aktion wird als "Regression" bezeichnet.)

Screenshot der Fehlermeldung bei Mouseover in Visual Studio.

Führen Sie die Fehlerliste durch, und beheben Sie alle Fehler in Ihrem Code.

Screenshot des Visual Studio Debug-Fehlerfensters.

Überprüfen von Fehlern im Detail

Viele Fehler könnten Ihnen nicht verständlich sein, da sie in den Begriffen des Compilers formuliert sind. In diesen Fällen benötigen Sie möglicherweise zusätzliche Informationen. Im Fenster " Fehlerliste " können Sie eine automatische Bing-Suche ausführen, um weitere Informationen zum Fehler oder zur Warnung zu erhalten. Klicken Sie mit der rechten Maustaste auf die entsprechende Eintragszeile, und wählen Sie " Fehlerhilfe anzeigen " im Kontextmenü aus, oder wählen Sie den Linkcodewert in der Spalte "Code " der Fehlerliste aus.

Screenshot der Bing-Fehlerliste von Visual Studio.

Je nach Ihren Einstellungen zeigt Ihr Webbrowser entweder die Suchergebnisse für den Fehlercode und den Text an, oder eine Registerkarte wird in Visual Studio geöffnet und zeigt die Ergebnisse der Bing-Suche an. Die Ergebnisse stammen aus vielen verschiedenen Quellen im Internet, und möglicherweise sind nicht alle hilfreich.

Verwenden der Codeanalyse

Codeanalyseer suchen nach allgemeinen Codeproblemen, die zu Laufzeitfehlern oder Problemen in der Codeverwaltung führen können.

C#- und Visual Basic-Codeanalyse

Visual Studio enthält eine integrierte Gruppe von .NET Compiler Platform Analyzern , die C# und Visual Basic-Code während der Eingabe untersuchen. Sie können weitere Analyzer als Visual Studio-Erweiterung oder als NuGet-Paket installieren. Wenn Regelverstöße gefunden werden, werden sie sowohl in der Fehlerliste als auch im Code-Editor als Wellenlinie unter dem fehlerhaften Code gemeldet.

C++-Codeanalyse

Führen Sie zum Analysieren von C++-Code statische Codeanalyse aus. Gewöhnen Sie sich daran, es auszuführen, nachdem Sie die offensichtlichen Fehler bereinigt haben, die einen erfolgreichen Build verhindern, und nehmen Sie sich etwas Zeit, um die Warnungen anzugehen, die auftreten könnten. Sie können sich in der Zukunft einige Kopfschmerzen sparen und dabei einige Techniken für den Codestil lernen.

Drücken Sie ALT+F11 (oder wählen Sie Analysieren>Codeanalyse für Lösung ausführen im oberen Menü), um die statische Codeanalyse zu starten.

Screenshot des Visual Studio Code Analysis-Menüelements.

Alle neuen oder aktualisierten Warnungen werden auf der Registerkarte " Fehlerliste " unten in der IDE angezeigt. Wählen Sie eine Warnung aus, um im Code darauf zu springen.

Screenshot der Visual Studio-Fehlerliste mit Warnungen.

Verwenden von Schnellen Aktionen zum Beheben oder Umgestalten von Code

Schnelle Aktionen, die über das Glühbirnen- oder Schraubendrehersymbol verfügbar sind, ermöglichen Es Ihnen, Code inline umzugestalten. Sie sind eine einfache Möglichkeit, allgemeine Warnungen schnell und effektiv in C#-, C++ und Visual Basic-Code zu beheben. Wenn Sie darauf zugreifen möchten, klicken Sie mit der rechten Maustaste auf eine Warnschaltfläche, und wählen Sie "Schnelle Aktionen" und "Umgestaltungen" aus. Oder wenn sich der Cursor auf der Linie mit der farbigen Wellenlinie befindet, drücken Sie STRG+. oder wählen Sie die Glühbirne, die Fehlerglühbirne oder das Schraubenziehersymbol am Rand aus. Visual Studio zeigt ihnen dann eine Liste möglicher Korrekturen oder Umgestaltungen, die Sie auf diese Codezeile anwenden können.

Screenshot der Vorschau des Glühbirnen-Symbols in Visual Studio.

Schnelle Aktionen können überall verwendet werden, wenn Codeanalyses bestimmen, ob es eine Möglichkeit gibt, Ihren Code zu beheben, umzugestalten oder zu verbessern. Wählen Sie in einer beliebigen Codezeile aus, klicken Sie mit der rechten Maustaste, um das Kontextmenü zu öffnen, und wählen Sie "Schnelle Aktionen" und "Umgestaltungen" aus. Wenn Optionen zur Umgestaltung oder Verbesserung verfügbar sind, werden sie angezeigt. Andernfalls wird die Meldung "Keine schnellen Aktionen" hier in der unteren linken Ecke der IDE angezeigt.

Screenshot des Texts

Mit Erfahrung können Sie schnell die Pfeiltasten und STRG+ verwenden. Um einfache Umgestaltungsmöglichkeiten zu suchen und Ihren Code zu bereinigen!

Codebereinigung ausführen

Visual Studio bietet on-Demand-Formatierung ihrer C#-Codedatei, einschließlich Codestileinstellungen, über die Schaltfläche " Codebereinigung " am unteren Rand des Editors.

Screenshot der Schaltfläche

Neben der Formatierung ihrer Datei für Leerzeichen, Einzüge usw. wendet die Codebereinigung auch eine Reihe von Von Ihnen definierten Codeformatvorlagenkonventionen an. Ihre Einstellungen für jeden Codeformatstil werden aus der EditorConfig-Dateigelesen, wenn Sie ein solches für das Projekt haben, oder aus den Einstellungen für die Codeformatvorlagen im Dialogfeld Optionen.

Debuggen des ausgeführten Codes

Nachdem Sie ihren Code erfolgreich erstellt und ein wenig bereinigt haben, führen Sie ihn aus, indem Sie F5 drücken oder "Debuggen>starten" auswählen. Diese Aktion startet Ihre App in einer Debugumgebung, damit Sie das Verhalten im Detail beobachten können. Die Visual Studio-IDE ändert sich, während Die App ausgeführt wird: Das Ausgabefenster wird durch zwei neue ersetzt (in der Standardfensterkonfiguration), das Fenster " Auto/Lokal/Überwachung " und das Fenster " Anrufstapel/Haltepunkte/Ausnahmeeinstellungen/Ausgabe " im Registerkartenformat. Diese Fenster verfügen über mehrere Registerkarten, mit denen Sie die Variablen, Threads, Aufrufstapel und andere Verhaltensweisen Ihrer App während der Ausführung überprüfen und auswerten können.

Screenshot der Fenster

Beenden Sie Ihre App, indem Sie UMSCHALT+F5 drücken oder auf die Schaltfläche " Beenden " klicken. Sie können auch einfach das Hauptfenster der App (oder das Befehlszeilendialogfeld) schließen.

Wenn Ihr Code perfekt und genau wie erwartet ausgeführt wurde, herzlichen Glückwunsch! Manchmal reagiert Ihr Code jedoch möglicherweise nicht mehr oder stürzt ab oder gibt Ihnen seltsame Ergebnisse. Wenn ja, sollten Sie versuchen, die Quelle dieser Probleme zu finden und die Fehler zu beheben.

Festlegen einfacher Haltepunkte

Haltepunkte sind das grundlegendste und wesentliche Feature des zuverlässigen Debuggens. Ein Haltepunkt gibt an, wo Visual Studio den ausgeführten Code anhalten soll, damit Sie sich die Werte von Variablen oder das Verhalten des Arbeitsspeichers ansehen können oder ob eine Verzweigung des Codes ausgeführt wird. Sie müssen ein Projekt nach dem Festlegen und Entfernen von Haltepunkten nicht neu erstellen.

Legen Sie einen Haltepunkt fest, indem Sie auf den weiten Rand der Zeile klicken, an der der Umbruch erfolgen soll, oder drücken Sie F9 , um einen Haltepunkt in der aktuellen Codezeile festzulegen. Wenn Sie den Code ausführen, wird er angehalten (oder unterbrechen), bevor die Anweisungen für diese Codezeile ausgeführt werden.

Screenshot eines Visual Studio-Haltepunkts.

Häufige Verwendungsmöglichkeiten für Haltepunkte sind:

  • Um die Quelle eines Absturzes oder eines Programms, das nicht reagiert, einzugrenzen, platzieren Sie Haltepunkte im gesamten Code um den Methodenaufruf herum, von dem Sie glauben, dass er den Fehler verursacht. Wenn Sie Code im Debugger ausführen, entfernen Sie die Haltepunkte und verschieben Sie diese dann näher zusammen, bis Sie die fehlerhafte Codezeile gefunden haben. Im nächsten Abschnitt erfahren Sie, wie Sie Code im Debugger ausführen.

  • Wenn Sie neuen Code einführen, legen Sie einen Haltepunkt am Anfang davon fest, und führen Sie den Code aus, um sicherzustellen, dass er erwartungsgemäß verhält.

  • Wenn Sie ein kompliziertes Verhalten implementiert haben, legen Sie Haltepunkte für den algorithmischen Code fest, damit Sie die Werte der Variablen und Daten überprüfen können, wenn das Programm unterbrochen wird.

  • Wenn Sie C- oder C++-Code schreiben, verwenden Sie Haltepunkte, um die Ausführung des Codes zu stoppen, sodass Sie Adresswerte überprüfen können (suchen Sie nach NULL) und Referenzzähler beim Debuggen von speicherbezogenen Fehlern inspizieren können.

Weitere Informationen zur Verwendung von Haltepunkten finden Sie unter Verwenden von Haltepunkten im Visual Studio-Debugger.

Inspizieren Sie Ihren Code zur Laufzeit

Wenn ihr ausgeführter Code auf einen Haltepunkt trifft und angehalten wird, wurde die in Gelb (die aktuelle Anweisung) markierte Codezeile noch nicht ausgeführt. An diesem Punkt möchten Sie möglicherweise die aktuelle Anweisung ausführen und dann die geänderten Werte überprüfen. Sie können mehrere Schrittbefehle verwenden, um Code im Debugger auszuführen. Wenn der markierte Code ein Methodenaufruf ist, können Sie ihn durch Drücken von F11 ausführen. Sie können auch die Codezeile durchlaufen , indem Sie F10 drücken. Weitere Befehle und Details zum Schrittweisen Durchlaufen von Code finden Sie unter "Navigieren durch Code mithilfe des Debuggers".

Screenshot des Visual Studio-Codefensters. Ein roter Punkt im linken Bundsteg zeigt einen Haltepunkt an der Codezeile an, die gelb markiert ist.

In der vorherigen Abbildung können Sie den Debugger um eine Anweisung voranbringen, indem Sie F10 oder F11 drücken (da hier kein Methodenaufruf vorhanden ist, haben beide Befehle dasselbe Ergebnis).

Während der Debugger angehalten ist, können Sie Ihre Variablen und Aufrufstapel überprüfen, um zu bestimmen, was gerade passiert. Sind die Werte in den Bereichen, die Sie sehen möchten? Werden Anrufe in der richtigen Reihenfolge getätigt?

Screenshot des Visual Studio-Codefensters. In der in Gelb markierten Codezeile wird eine Variable ausgewählt, und ein Dropdown zeigt den aktuellen Wert und die Aktuellen Verweise an.

Zeigen Sie mit der Maus auf eine Variable, um den aktuellen Wert und die aktuellen Verweise anzuzeigen. Wenn ein Wert angezeigt wird, den Sie nicht erwartet haben, haben Sie wahrscheinlich einen Fehler im vorherigen oder aufrufenden Code. Weitere Informationen finden Sie unter "Erster Blick auf den Visual Studio-Debugger".

Darüber hinaus zeigt Visual Studio das Fenster "Diagnosetools " an, in dem Sie die CPU- und Speicherauslastung Ihrer App im Laufe der Zeit beobachten können. Später in Der App-Entwicklung können Sie diese Tools verwenden, um nach unvorhergesehener hoher CPU-Auslastung oder Speicherzuweisung zu suchen. Verwenden Sie es zusammen mit dem Überwachungsfenster und Haltepunkten, um festzustellen, was zu unerwartet hohem Ressourcenverbrauch oder nicht freigegebenen Ressourcen führt. Weitere Informationen finden Sie unter "Erste Betrachtung der Profilerstellungstools (C#, Visual Basic, C++, F#)".

Ausführen von Komponententests

Komponententests sind Ihre erste Verteidigungslinie gegen Codefehler, da sie, wenn sie richtig ausgeführt werden, eine einzelne "Einheit" von Code testen, in der Regel eine einzelne Funktion und einfacher debuggen als Ihr vollständiges Programm. Visual Studio installiert die Microsoft-Komponententestframeworks sowohl für verwalteten als auch für systemeigenen Code. Verwenden Sie ein Komponententestframework, um Komponententests zu erstellen, auszuführen und die Ergebnisse dieser Tests zu melden. Führen Sie Komponententests erneut aus, wenn Sie Änderungen vornehmen, um zu testen, dass Ihr Code weiterhin ordnungsgemäß funktioniert. Mit Visual Studio Enterprise Edition können Sie Nach jedem Build automatisch Tests ausführen.

Lesen Sie zunächst Generate unit tests für Fuzz-Tests mit IntelliTest.

Weitere Informationen zu Komponententests in Visual Studio und wie sie Ihnen helfen können, Code von besserer Qualität zu erstellen, finden Sie unter Komponententestgrundlagen.