‫Willkommen zurück.
‫In diesem Video und den nächsten Videos möchte ich Ihnen zeigen, wie Sie das Debuggen in Visual Studio verwenden
‫und die Idee hinter dem Debuggen ist, Fehler zu beseitigen.
‫Und diese Fehler können manchmal ganz einfach zu erkennen sein, denn sobald Sie das Programm ausführen und
‫es abstürzt, wissen Sie, hier haben Sie einen Fehler, aber manchmal ist es ein
‫logischer Fehler, was bedeutet, dass Sie ihn nicht wirklich sehen können ID, aber es muss von Ihnen oder Ihren Benutzern entdeckt werden, was Ihnen
‫hoffentlich sagt, dass Sie es verbessern oder diesen Fehler beseitigen müssen.
‫Und um Ihnen die Funktionalität des Debuggens in Visual Studio zu zeigen oder zu demonstrieren, habe ich hier
‫ein kleines Programm erstellt.
‫Ich habe ein kleines Werkzeug vorbereitet, das wir dafür verwenden werden, und das Werkzeug wird ein Partyfreund und ein weißes
‫Werkzeug sein.
‫Die Idee ist also, dass meine Tochter gerade drei Jahre alt geworden ist und wir eine kleine Party für sie hatten und sie ein paar Freunde
‫einladen könnte.
‫Und natürlich hätte sie gerne ihren ganzen Kindergarten eingeladen, aber wir durften nur drei Freundinnen
‫einladen.
‫Nun musste sie sich also entscheiden, welche Freunde sie einladen möchte.
‫Und natürlich war es einfach, denn es gibt einige Freunde, die sie mehr mag als andere.
‫Aber am Ende weiß ich nicht, wer ihre Lieblingsfreunde sind.
‫Wenn ich mich also entscheiden müsste, wen sie einladen kann, würde ich ein kleines Programm schreiben, das sagt, OK,
‫jeder mit einem kurzen Namen und bis dahin.
‫Ja, ich hoffe auf mehrere, in diesem Fall können drei zur Party eingeladen werden.
‫Also nennt sie alle ihre Freunde.
‫Und dann sage ich nur, gut, die mit den kürzesten Namen werden eingeladen, die drei mit den kürzesten
‫Namen werden eingeladen.
‫Und das ist das zu hören, was ich geschrieben habe.
‫Genau das tut es.
‫Also haben wir diese Liste, Frank, Joe, Michelle und Maria, Carlos und Angelina.
‫Und wir haben diese Methode zum Abrufen von Partyfreunden, die eine Liste und die Anzahl der Personen benötigt, die aus dieser Liste
‫ausgewählt werden sollen.
‫Und dann haben wir eine for each-Schleife, die nur die Namen dieser Personen oder dieser Kinder aufschreibt,
‫in meinem Fall auf der Konsole.
‫Gut.
‫Nichts Besonderes.
‫Und der Algorithmus, der entscheidet, wer eingeladen wird und wer nicht, ist diese Methode hier und hier laden wir einen Partyfreund ein oder
‫wir finden heraus, wer ein Partyfreund ist.
‫Wir brauchen natürlich eine Liste von Personen, die wir überprüfen können.
‫Dann prüfen wir den kürzesten Namen und vergleichen immer.
‫Also gehen wir alle Leute in der Liste durch und vergleichen immer.
‫Wird der Name kürzer als eine bestimmte Länge sein oder der der anderen Personen?
‫Am Ende wird es mir also nur die kürzesten Namen geben.
‫Aber hier habe ich absichtlich einen Fehler hier.
‫Gut.
‫Also werde ich mehr als den kürzesten Namen dieser Länge vergleichen.
‫In diesem Fall nehme ich also nur die längsten Namen, obwohl ich alle kurzen Namen haben
‫wollte.
‫Dies ist nur ein Absichtspaket, das ich implementiert habe, denn jetzt können Sie sehen, dass dies etwas ist, das
‫Sie möglicherweise nicht bemerken.
‫Natürlich ein logischer Fehler.
‫Und wenn wir den Code ausführen, wird er trotzdem ausgeführt.
‫Es wird keine Fehlerzählung geben, keine Fehler.
‫Es wird nicht abstürzen.
‫Es wird uns nur die falschen Namen geben.
‫Aber jetzt ist es für uns in diesem Fall einfach, weil wir sehen, OK, Michelle, Angelina und Carlos sind
‫lange Namen und wir kennen die Liste.
‫Wir wissen also, dass es Joe, Andy und Maria und sogar Frank mit kürzeren Namen gab.
‫Aber aus irgendeinem Grund standen sie nicht auf der Liste.
‫Obwohl wir die kürzesten Personen oder die Personen mit den kürzesten Namen haben wollten.
‫Ich weiß nicht, wie klein oder groß sie sind, aber das spielt hier keine Rolle.
‫Wichtig ist, dass es hier einfach ist, denn wir haben die Liste hier als Entwickler sichtbar.
‫Aber was ist, wenn wir die Liste von woanders bekommen?
‫Nehmen wir an, wir erhalten die Liste aus einer XML-Datei, die mit Tausenden von Namen riesig ist, oder wir erhalten
‫eine Liste aus dem Internet und können die Liste nicht sehen, bevor sie von unserer Software tatsächlich verarbeitet wurde.
‫Dann würden wir nicht sehen, dass die Namen, die uns gegeben wurden, tatsächlich nicht die kürzesten sind.
‫OK, aber unsere Software hat diesen kleinen Fehler und das macht die andere Methode jetzt.
‫Es wird nur zurückkehren, um seinen Namen zu verkürzen.
‫Und dann haben wir diese Partyfreunde, Plural, die nur die Liste aller
‫Personen mit Kurznamen bis zu einem bestimmten Betrag zurückgibt, den wir hier bezahlen können.
‫Also passierten wir die Nummer drei, was bedeutet, dass wir nur drei Freunde bekommen würden.
‫Wenn wir die Nummer vier überschritten haben, bekommen wir vier Freunde und so weiter.
‫Gut.
‫Das ist im Grunde das, was unsere Software jetzt macht.
‫Wir haben kommerzielle Ingenieurautos mit Frank, also haben wir nur diese leere Party-Freundesliste.
‫Und solange diese Party-Freundesliste eine niedrigere Anzahl hat als die Nummer, die übergeben wurde, wir.
‫Suchen Sie einfach nach dem nächsten Partyfreund, dann fahren wir fort und fügen ihn der Liste der
‫Partyfreunde hinzu und entfernen ihn aus der Liste, die uns übergeben wurde.
‫Nun, das ist etwas sehr Gefährliches.
‫Aber wir tun es, weil wir Anfänger sind und nur diesen kleinen Trick machen, bei dem wir
‫denken, OK, jetzt werden wir einfach eine Variable oder ein Element in der Liste los.
‫Und das tun wir programmatisch.
‫Und dann haben wir Schritt für Schritt eine kurze Liste und wir haben nur noch die Leute zum Vergleichen, die noch nicht
‫in unserer Liste sind.
‫Gut.
‫Das machen wir mit dieser Liste.
‫Entfernen, obwohl das keine saubere Programmierung ist.
‫Wir werden später auch sehen, wie wir das beheben können.
‫Aber im Moment haben wir die Software und sie funktioniert.
‫Es funktioniert total gut.
‫Aber wie finden wir heraus, wie wir diesen Fehler beheben können?
‫Denn wir wissen jetzt, dass wir einen Fehler haben und können natürlich unseren Code durchgehen.
‫Und in diesem Fall ist es einfach, weil es nur dreiundvierzig Zeilen Code sind.
‫Aber stellen Sie sich vor, es sind Tausende von Codezeilen, viele verschiedene Dateien und viele verschiedene Leute haben daran gearbeitet.
‫Und Sie können nicht herausfinden, was der Fehler ist.
‫Jetzt können Sie die Debugfunktionen von Visual Studio verwenden und
‫dazu einfach einen Haltepunkt hinzufügen.
‫Beginnen wir nun mit einem Breakpoint.
‫Wir haben das.
‫Roter Punkt hier auf der linken Seite, also im Allgemeinen dieser graue Balken, den Sie hier haben, dort können
‫Sie Haltepunkte hinzufügen.
‫Sie können auch nachts einen Haltepunkt hinzufügen, indem Sie auf drücken.
‫Und das werde ich nicht tun, weil neun meine Videoaufzeichnungssoftware pausiert.
‫Also muss ich es mit meiner Maus tun.
‫Also gehe ich zum Debuggen und dann kann ich den Haltepunkt umschalten drücken.
‫Was das bewirken wird, ist, dass es diesen Haltepunkt für mich erstellt.
‫Sie können natürlich auch F neun drücken.
‫Die Verknüpfung ist also neun und es ist viel einfacher, Verknüpfungen beim Debuggen zu verwenden, als
‫ständig zu debuggen und zu klicken.
‫Gut.
‫Gewöhnen Sie sich also an die Tasten Ihrer Tastatur.
‫Gut.
‫Dann lasst uns mit dem Debuggen beginnen.
‫Gut.
‫Also gehe ich zum Debuggen und dann fange ich an zu debuggen.
‫Oder ich könnte einfach fünf drücken, um mit dem Debuggen zu beginnen.
‫Nun, da wir uns bei diesem kleinen gelben Pfeil befinden, der darauf hinweist, dass unsere Software derzeit dort feststeckt und
‫wir sie dort feststecken lassen, weil wir diesen Breakpoint hier erstellt haben.
‫An diesem Punkt bricht die Software also zusammen.
‫Und jetzt können wir die Software in unserem eigenen Tempo voranbringen, sodass wir Zeile für Zeile vorgehen und noch tiefer graben
‫können.
‫Also machen wir das.
‫Lassen Sie uns über 10 gehen oder diesen Knopf hier oben drücken, um überzugehen und zum nächsten Schritt zu gelangen.
‫Alle diese Schaltflächen sind übrigens nur verfügbar, weil ich mich im Debug-Modus befinde.
‫Rechts?
‫Also fing ich an, meine Software auszuführen.
‫Und Sie können auch sehen, dass Step-in-Step-Over und Step-Out auch hier verfügbar sind.
‫Sie haben also mehrere Möglichkeiten.
‫Ja.
‫Steigen Sie hinüber, steigen Sie ein und steigen Sie aus oder drücken Sie diese Tasten.
‫Gut.
‫Also, was ich jetzt tue, ist, dass ich zur nächsten Zeile komme.
‫Also ging ich zur nächsten Zeile.
‫Und Sie können jetzt sehen, dass der Unterschied ein Wert ist, der sieben Werte hat.
‫Es ist also eine Liste von sieben Saiten, Frank, Joe, Michelle und so weiter.
‫Und null, wir haben Frank bei Index eins mit Joe und so weiter.
‫Nun ist Partyfreunde selbst immer noch eine leere Liste, obwohl wir ihr einen Wert zuweisen.
‫Aber das liegt daran, dass, wenn Sie in Zeile elf sind, Zeile zehn ausgeführt wurde. Partyline 11 wurde noch nicht ausgeführt.
‫Das bedeutet, dass wir erneut übergehen müssen, damit Sie erneut F 10 drücken können, um zur nächsten Zeile und unserer Zeile
‫13 zu gelangen.
‫Also wurde Zeile 12 übersprungen, weil hier nichts ist.
‫Da ist kein Code.
‫Und es ging einfach für jede Schleife dazu.
‫Aber was ist jetzt, wenn Sie tiefer graben möchten?
‫Was also, wenn Sie wissen möchten, was passiert ist, als diese Methode zum Abrufen von Partyfreunden aufgerufen wurde?
‫Sie können zurückgehen, indem Sie diesen Pfeil nach oben ziehen.
‫Also ziehe ich es wieder nach oben und bin jetzt wieder bei Zeile elf.
‫Und jetzt kann ich, anstatt durch Drücken einer Taste hinüberzusteigen, kann ich durch Drücken von F elf
‫einsteigen, so dass ich jede Ebene drücken kann, und ich trete in die Party-Freunde-Methode ein, was bedeutet, dass wir jetzt in Zeile
‫achtzehn sind, was nur bedeutet, dass jetzt sind wir innerhalb des Methodenaufrufs der Gate-Party-Freunde.
‫Und auch hier können wir Schritt für Schritt vorgehen.
‫Wir können herausfinden, was Partyfreunde sind.
‫Wir können den Wert von Partyfreunden überprüfen.
‫Sie können den Zählerstand sehen, die Null.
‫Es ist also eine leere Liste, was nur bedeutet, dass es keine Einträge in der Liste gibt.
‫Und dann haben wir diese while-Schleife, in der wir Sachen vergleichen, damit wir zur nächsten Zeile gehen und sehen können,
‫dass die Anzahl der Partyfreunde null war und null vier vergleichen und null weniger als vier ist.
‫Also ist die while-Schleife oder die while-Schleife wahr.
‫Wir können also zur nächsten Zeile gehen.
‫Und hier nennen wir es Partyfreunde, damit wir noch tiefer gehen können, um Partyfreunde zu finden.
‫Und Sie können jetzt sehen, dass wir hier in dieser Methode sind.
‫Eintreten bedeutet also, in eine Methode einzutreten, herauszutreten, was die Verschiebung ist.
‫Elf springt aus einer Methode.
‫Aber jetzt werfen wir einen Blick auf diesen Methodenaufruf hier.
‫Ich kann mit dem kürzeren Namen sehen, der an dieser Stelle Joe ist.
‫Dann haben wir das für Loop und los gehts, Schritt für Schritt in diesem Herbst.
‫Zuerst setzen wir die Variable, dann vergleichen wir.
‫Sobald ein Vergleich wahr ist, gehen wir zur for-Schleife oder innerhalb der for-Schleife.
‫Dann haben wir diese if-Anweisung.
‫Wir vergleichen erneut und können sehen, dass die Länge drei nicht größer als die Länge oder
‫die kürzeste Länge von drei ist.
‫Drei ist also nicht die dritte Klasse.
‫Nun war die if-Anweisung nicht wahr, also ging es zur nächsten Iteration des Falu.
‫Jetzt wird die for-Schleife immer wieder ausgeführt.
‫Jetzt können Sie aussteigen.
‫Und was dies bewirkt, ist, dass es aus der Ausführung dieser Methode aussteigt und dann können Sie von dort aus fortfahren.
‫Aber was Sie damit tun, ist, dass Sie die for-Schleife nicht ausführen, wie es normalerweise der Fall wäre.
‫OK, wenn ich also wieder aussteige, erhalte ich eine Ausnahme außerhalb des zulässigen Bereichs.
‫Sie müssen hier also aufpassen, dass Sie nicht ständig ein- und aussteigen, aber Sie müssen diese Tools
‫besorgniserregend verwenden, OK?
‫Und Sie können natürlich einfach von dort aus starten oder das Debuggen stoppen, Sie können den gesamten Debugging-Prozess neu starten, denn jetzt haben wir diesen
‫kleinen Fehler und vielleicht wissen Sie nicht, wie Sie ihn beheben können.
‫Wir können das Ganze also einfach wiederholen und können jetzt natürlich wieder Schritt für Schritt vorgehen.
‫Und wir können.
‫Treten Sie über, übertreten Sie, übergehen Sie, bis wir an dem Punkt sind, an dem es uns die Namen gibt, damit Sie sehen können, dass wir jetzt
‫sind.
‫Michelle, jetzt geht es zum nächsten Namen in der Liste.
‫Jetzt geht das Wort Angelina zum nächsten Namen in der Liste, und es ist Carlos.
‫So können Sie sehen, dass Sie jede Variable und den Zustand jeder Variablen zu jedem Zeitpunkt überprüfen können, was sehr
‫wichtig ist, wenn Sie die Dinge herausfinden möchten.
‫Gut.
‫Das ist also die allgemeine Idee, wie man Breakpoints verwendet und wie man mit dem Debugging-Prozess beginnt.
‫Im nächsten Video schauen wir uns an, wie wir diesen logischen Fehler beheben können, indem wir die Variablen und ihre Zustände
‫besser sehen, denn jetzt kann ich natürlich mit der Maus über die Variablen fahren und sehen, welchen
‫Wert sie dabei haben bestimmten Punkt.
‫Aber ich möchte mehrere Variablen gleichzeitig vergleichen oder den Zustand mehrerer Variablen gleichzeitig
‫sehen.
‫Und das schauen wir uns im nächsten Video an.
‫Also wir sehen uns dort.