|
Brug af ILSpy dekompileringsværktøjet. Dog kræver ILspy, at .NET Framework 4.0 installeres på din computer. ILspy kan konvertere en DLL-fil til C# eller VB-sprog. ILspy kan gemme en enkelt fil som en .cs fil eller .vb fil, og når der er mange filer, kan du vælge at gemme den som en projektfil. C#-sætninger kan dekompileres af ILspy og kan understøtte dekompilering af yield return-sætninger og lambdas-udtryk. Jeg plejede at bruge Reflector til at se noget information om .NET-biblioteket, men siden februar 2011 er Reflector begyndt at blive betalt software, så udviklere, der elsker fri software, er begyndt at udvikle deres egen dekompilerede software. Så ILspy blev født på grund af held. ILSPY er et open source-værktøj, der erstatter reflektorer, og det dekompilerer kode, der ligner reflektorer. SharpDevelop er en anden og eneste . .NET open tool, og det er open source. Det tilbyder også ret gode funktioner, næsten ved at omskrive Visual Studio. I den nyeste version er understøttelse af Visual Studios løsningssikkerhedsfiler og projektfiler blevet tilføjet direkte. ILSpy er et dekompilerværktøj fra SharpDevelop-gruppen og er også open source, og dets debugger og dekompilator er beskrevet nedenfor.
Skærmbillede af ILspys interface
ILSpys interface ligner Reflector, med trækontroller, der viser samlingen og dens type til venstre, og den tilsvarende kildekode til højre. Den grundlæggende dekompileringsfunktion er ikke dårlig sammenlignet med Reflector, og nogle gange kan den endda dekompileres med ILSpy for assemblies, der ikke kan dekompileres (på grund af kryptering) med Reflector.
ILspy kræver, at .NET Framework 4.0 installeres på din computer.Der er flere almindeligt anvendte funktioner i ILspyDen grundlæggende type dekompileringsfunktion er tilgængelig Nu understøttes kun dekompilering af kildekode til C# og IL-sprog, ikke VB. Renderingerne er:
ILSpys kode-gemmefunktion Når man klikker på en type, vælger man File-> Save Code, dekompilerer den aktuelle type og gemmer den til den angivne fil, og når man vælger en assembly, gemmes Save Code som en projektfil (csproj), og alle dens typer tilføjes til projektet.
ILSpys debugger-funktion Debuggeren her henviser ikke til Visual Studiokildeniveauet af debugger, men henviser til debuggeren af assemblyen. Reflector har et tilføjelsesprogram, der kan tilknyttes direkte til Visual Studio for at fejlfinde tredjepartsbiblioteker uden at skulle dekompilere tredjepartsbibliotekerne og tilføje dem til projektet i form af kildekode. ILSpy har også denne funktion, som gør det muligt at fejlfinde tredjeparts assemblies direkte, med to muligheder Hvis tredjepartsbiblioteket er en eksekverbar fil, kan du starte programmet med Debug som en eksekverbar fil. Hvis tredjepartsbiblioteket er en assembly (DLL), kan du vedhæfte det med en Attach til kørende applikation for at begynde at fejlfinde assemblyen.
Som du allerede kan se på billedet ovenfor, er dens brug det samme som ved fejlfinding af kildekode. Hvor du skal overvåge variabelværdien, sætte et breakpoint, og når programmet kører til dette punkt, kan du observere variabelens værdi ved at overvåge formen. Forskellen mellem de to er, at når Attach til en kørende applikation fejlfindes, vil skærmen ikke få dens værdi, hvis koden optimeres af compileren.
Som vist på billedet kan værdien af den variabel num, der fejlfindes, ikke vises, fordi koden er optimeret. Den officielt anbefalede metode er Debug an executable able Som med fejlfinding af .NET-kildekode i Visual Studio kan du gå ind i, gå over, fortsætte, og statuslinjen vil vise standby, kørende og fejlfinding.
Ud over at fejlfinde koden i C#/VB-form af assemblyen, kan den også fejlsøges i IL-kode, som vist i figuren nedenfor
ILSpys debugger findes som et plugin, sørg for at inkludere ILSpy.Debugger-plugin'et.
Men fejlfinding. .NET-assemblies skal kræve PDB-filer. Dog genererer ILSpy ikke PDB-filer (der genereres ingen PDB-filer), og det kan ikke fejlfinde ASP.NET webapplikationer og webtjenester.
|