Am 14. September 2017 haben wir eine überarbeitete Fassung unserer Datenschutzrichtlinie veröffentlicht. Wenn Sie video2brain.com weiterhin nutzen, erklären Sie sich mit diesem überarbeiteten Dokument einverstanden. Bitte lesen Sie es deshalb sorgfältig durch.

Visual Studio 2013 Grundkurs

Fehler in laufender Anwendung finden

LinkedIn Learning kostenlos und unverbindlich testen!

Jetzt testen Alle Abonnements anzeigen
Visual Studio 2013 verfügt über eine Funktionalität, um Fehler in einer laufenden Anwendung zu eruieren und diese anschließend im Debugger zu finden.
04:40

Transkript

Wenn Fehler während der Entwicklungszeit auftreten, ist das schon schlimm genug, aber dort hat man noch Zeit in Visual Studio den entsprechenden Fehler im Debugger zu beheben. Bisschen problematischer wird das Ganze, wenn die Anwendung bereits irgendwo verläuft, auf einem Server zum Beispiel und erst im Nachhinein feststeht, oh, da passiert irgendwas komisches, irgendwie Daten werden nicht weggeschrieben und die Anwendung stürzt ab. So, und wie man so etwas dann im Nachhinein immer noch in Griff bekommt, das schauen wir uns jetzt mal an. Wir haben hier mal eine Anwendung und diese Anwendung führt am Anfang einmal Konsole WriteLine aus, gibt also den Text "Anwendung wartet" auf dem Bildschirm aus. Danach wird die Eingabe eines Zeichens erwarten, das heißt, an der Stelle hält die Anwendung kurz an. Sobald ich dann einen Button drücke, läuft diese Anwendung weiter. das haben wir aus einem speziellen Grund gemacht, ich zeige gleich warum. Ich kompiliere diese Anwendung jetzt ein einziges Mal mit "Erstellen" und schaue mir dann mal das Ausgabeverzeichnis an Dort empfindet sich jetzt die entsprechende exe-ConsoleApplication 1 und mit einem Doppelklick starte ich die Anwendung jetzt mal. Das hat jetzt nichts mit dem Starten in Visual Studio zu tun, normalerweise würde Visual Studio auch diesen Prozess starten, denn den Debugger anhängen, das ist jetzt eine ganz normal gestartete Anwendung, das könnte jetzt auch bei Ihnen auf dem Server sein oder bei Ihnen Lokal oder beim Kunden oder sonst irgendetwas. So, jetzt möchten wir gerne diese Anwendung, obwohl sie nicht mit Visual Studio verbunden ist, trotzdem debuggen. Wie macht man das Ganze? Das macht man mit der Funktion, "an der Prozess anhängen". Ich wähle diese Funktion mal aus und jetzt kann ich hier verschiedene Dinge anwählen. Und als aller erstes wählen wir erstmal hier aus, an was das Ganze angefügt werden kann und wir sagen, okay, wir möchten an der Stelle, dass sie sich nur an verwalteten Code anhängt, und zwar nur die Version 4.5, okay, das geht nur eins, also wir hängen uns mal nur an den 4.5 Code, das ist der, den wir aktuell ausühren, also wir kompilieren das Ganze wie im .NET Framework 4.5 und sagen, okay. Dann filtert er die entsprechenden Prozesse hier unten in der Liste auf diese Einschränkungen die wir uns gerade oben angeschaut haben Und dann suchen wir jetzt einfach mal hier die ConsoleApplication raus, das ist hier verwaltet, das ist also die Anwendung, die wir eben in der Konsole gestartet haben. Ich sage an der Stelle jetzt hier mal Anfügen und jetzt ist der Debugger angeführt. Wir sind noch in keiner Zahl, das heißt, wir haben noch keinen Breakpoint erreicht, weil aktuell die Anwendung in dieser Zeile hier steht. Aber und das ist ganz wichtig es ist ein separater Prozess, das heißt, wir befinden uns nicht in Visual Studio Debugger, wenn ich hier oben auf Start klicke, sondern es ist ein separat gestalteter Prozess und wir haben uns mit Visual Studio an diesem Prozess angehangen. Ich setze jetzt mal einen Breakpoint in dieser Zahl, wie gesagt die Anwendung steht aktuell hier und dann öffnen wir diese Konsole nochmal und drücken mal eine x- beliebige Taste. und wie von Zauberhand im Hintergrund wird dann der entsprechende Breakpoint angesteuert, das heißt, wir hängen jetzt über diese Debugger-Einfügen Funktion an dieser Anwendung hier dran, ich habe jetzt gerade einen Butten gedrückt und danach ist der Programmfluss weitergegangen und wir können jetzt hier debuggen. Jetzt könnte man sagen ja, okay, es funktioniert ganz gut, auf unserem Server können wir vielleicht auch mal Visual Studio installieren, aber wie ist das Ganze dann das entfernt beim Kunden auf dem Rechner oder auf dem Server auftritt? Das klingt jetzt zunächst kompliziert, aber die Lösung ist auch mehr weniger einfach. Ich kann hier bei "An dem Prozess anhängen", kann ich nicht nur den aktuellen Rechner angeben, sondern ich kann auch irgendeinen entfernten Rechner eingeben. Ich kann hier zum Beispiel sagen, ich will nicht Standard, das wäre der aktuelle Rechner, sondern ich möchte über Remote diese ganze Sache auswählen, kann dann hier entsprechend einen entfernten Rechner angeben. erstmal relativ einfach, aber das ist kompliziert. Sie müssen bestimmte Ports freischalten, Sie müssen auf dem entsprechenden Zielrechner oder Zielserver die .Net Debugging-Tools installieren und dann muss man dort noch gewisse Dinge verbinden und authentifizieren und was auch immer und danach kann man dann eine Verbindung Remote an diesem Prozess erstellen, der irgendwo auf dem anderen Rechner läuft. Das ist, wie gesagt, der Handhabe her relativ kompliziert, es gibt dazu in der MSDN aber gute Einleitungen, so dass man das ohne Probleme hinbekommen sollte, allerdings wenn man dieses Problem wirklich mal hat und kann dann plötzlich eine Anwendung debuggen, die sich hunderte oder tausende Kilometer weit weg befindet, dann ist das auf jeden Fall den Aufwand wert und auch wenn es dann sehr langsam ist im Debugger, weil die ganzen Informationen natürlich über die schmale Internetladung geschoben werden müssen, funktioniert das genauso, als wenn ich jetzt hier lokal meine Anwendung debuggen musste und man findet damit auf jeden Fall auch den Fehler, wenn man das Ganze lokal gefunden hätte, vorausgesetzt, jemand sitzt davor, der die Anwendung richtig bedient. Wir haben uns in diesem Video angeschaut, was man tun kann, wenn eine Anwendung, die bereits diploid wurde und irgendwo auf einem System läuft nicht richtig funktioniert. Wenn es derselbe Rechner ist, können wir uns mit einem Prozess anhängen und hier oben, über den Transport-Standard an diesem Prozess anhängen ohne Probleme und wenn dieses System entfernt läuft auf irgendeinem anderen Rechner, müssen entsprechende Tools installiert werden, Ports freigeschaltet werden und dann kann ich mich auch per Remote an diesem Prozess hängen.

Derzeit sind keine Feedbacks vorhanden...
 

Dieser Online-Kurs ist als Download und als Streaming-Video verfügbar. Die gute Nachricht: Sie müssen sich nicht entscheiden - sobald Sie das Training erwerben, erhalten Sie Zugang zu beiden Optionen!

Der Download ermöglicht Ihnen die Offline-Nutzung des Trainings und bietet die Vorteile einer benutzerfreundlichen Abspielumgebung. Wenn Sie an verschiedenen Computern arbeiten, oder nicht den ganzen Kurs auf einmal herunterladen möchten, loggen Sie sich auf dieser Seite ein, um alle Videos des Trainings als Streaming-Video anzusehen.

Wir hoffen, dass Sie viel Freude und Erfolg mit diesem Video-Training haben werden. Falls Sie irgendwelche Fragen haben, zögern Sie nicht uns zu kontaktieren!