|
Verwendung des ILSpy-Dekompilierungstools. Allerdings benötigt ILspy, dass das .NET Framework 4.0 auf deinem Computer installiert wird. ILspy kann eine DLL-Datei in C#- oder VB-Sprache konvertieren. ILspy kann eine einzelne Datei als .cs Datei oder .vb Datei speichern, und wenn es viele Dateien gibt, kannst du sie als Projektdatei speichern. C#-Anweisungen können von ILspy dekompiliert werden und unterstützen die Dekompilierung von yield-return-Anweisungen und Lambdas-Ausdrücken. Früher habe ich Reflector genutzt, um einige Informationen über die .NET-Bibliothek anzusehen, aber seit Februar 2011 ist Reflector zunehmend auf kostenpflichtige Software umgestiegen, sodass Entwickler, die freie Software lieben, sich der Entwicklung eigener dekompilierter Software zuwenden. So wurde ILspy durch Glück geboren. ILSPY ist ein Open-Source-Tool, das Reflektoren ersetzt und Code ähnlich wie Reflektoren dekompiliert. SharpDevelop ist ein weiteres und einziges . .NET Open Tool, und es ist Open Source. Es bietet außerdem ziemlich gute Funktionen, fast schon das Umschreiben von Visual Studio. In der neuesten Version wurde die Unterstützung für Visual Studios Sicherheitsdateien und Projektdateien direkt hinzugefügt. ILSpy ist ein Decompiler-Tool aus der SharpDevelop-Gruppe und ebenfalls Open Source; sein Debugger und Decompiler werden im Folgenden beschrieben.
Screenshot der Oberfläche von ILspy
Die Benutzeroberfläche von ILSpy ähnelt der von Reflector, wobei Baumsteuerungen links die Assembly und ihren Typ und rechts den entsprechenden Quellcode anzeigen. Die grundlegende Dekompilierungsfunktion ist im Vergleich zu Reflector nicht schlecht, und manchmal kann sie sogar mit ILSpy für Assemblies dekompiliert werden, die (wegen Verschlüsselung) mit Reflector nicht dekompiliert werden können.
ILspy verlangt, dass .NET Framework 4.0 auf Ihrem Computer installiert wird.Es gibt mehrere häufig verwendete Funktionen von ILspyDie grundlegende Typdekompilierungsfunktion ist verfügbar Jetzt wird nur noch das Dekompilieren des Quellcodes in C#- und IL-Sprachen unterstützt, nicht mehr VB. Die Darstellungen sind:
Die Code-Speicherfunktion von ILSpy Beim Klicken auf einen Typ, die Auswahl auf Datei-> Speichercode dekompiliert der aktuelle Typ und speichert ihn in der angegebenen Datei, und bei der Auswahl einer Assembly wird Save Code als Projekt- (csproj)-Datei gespeichert und alle Typen werden dem Projekt hinzugefügt.
Die Debugger-Funktion von ILSpy Der Debugger hier bezieht sich nicht auf Visual StudioQuelleLevel des Debuggers, aber bezieht sich auf den Debugger der Assembly. Reflector verfügt über ein Add-in, das direkt an Visual Studio angeschlossen werden kann, um Drittanbieter-Typbibliotheken zu debuggen, ohne die Drittanbieter-Typbibliotheken dekompilieren und dem Projekt als Quellcode hinzufügen zu müssen. ILSpy verfügt ebenfalls über diese Funktion, mit der man Drittanbieter-Assemblies direkt debuggen kann, mit zwei Optionen Wenn die Drittanbieter-Typbibliothek eine ausführbare Datei ist, kannst du das Programm mit Debug starten, eine ausführbare Datei. Wenn die Drittanbieter-Typbibliothek eine Assembler (DLL) ist, kannst du sie mit einem Attach an eine laufende Anwendung anhängen, um mit dem Debuggen der Assembler zu beginnen.
Wie du bereits auf dem obigen Bild sehen kannst, ist die Nutzung derselbe wie beim Debuggen von Quellcode. Wo man den Wert der Variablen überwachen muss, einen Breakpoint festlegen und wenn das Programm diesen Punkt erreicht, kann man den Wert der Variablen durch Überwachung der Form beobachten. Der Unterschied zwischen den beiden besteht darin, dass wenn Attach an eine laufende Anwendung debuggt wird, der Code vom Compiler optimiert wird, der Monitor seinen Wert nicht erhält.
Wie im Bild gezeigt, kann der Wert der zu debuggenden Variablen num nicht angezeigt werden, da der Code optimiert wurde. Die offiziell empfohlene Methode ist Debug an Executable File Wie beim Debuggen von .NET-Quellcode in Visual Studio kannst du in Step, Move Over, Continue, und die Statusleiste zeigt Standby, laufen und Debugging an.
Neben dem Debuggen des Codes in C#/VB-Form der Assembler kann er auch im IL-Code debuggen werden, wie in der Abbildung unten gezeigt
Der Debugger von ILSpy existiert als Plugin, stelle sicher, dass du das ILSpy.Debugger-Plugin einbaust.
Aber Debugging. .NET-Assemblies müssen PDB-Dateien benötigen. ILSpy erzeugt jedoch keine PDB-Dateien (es werden keine PDB-Dateien generiert) und kann ASP.NET Webanwendungen und Webdienste nicht debuggen.
|