|
Uporaba orodja za dekompilacijo ILSpy. Vendar pa ILspy zahteva, da je .NET Framework 4.0 nameščen na vašem računalniku. ILspy lahko pretvori dll datoteko v jezik C# ali VB. ILspy lahko shrani eno datoteko kot .cs ali .vb datoteko, in ko je datotek več, jo lahko shraniš kot projektno datoteko. C# stavke je mogoče dekompilirati z ILspy in podpira dekompilacijo yield return stavkov ter lambdas izrazov. Nekdaj sem uporabljal Reflector za ogled nekaterih informacij o .NET knjižnici, vendar se je od februarja 2011 Reflector preusmeril na plačljivo programsko opremo, zato so razvijalci, ki imajo radi prosto programsko opremo, razvili svojo lastno dekompilirano programsko opremo. Tako je ILspy nastal zaradi sreče. ILSPY je odprtokodno orodje, ki nadomešča reflektorje in dekompilira kodo, podobno kot reflektorji. SharpDevelop je še en in edini . .NET odprto orodje in je odprtokodno. Ponuja tudi precej dobre funkcije, skoraj kot da bi prepisal Visual Studio. V najnovejši različici je bila neposredno dodana podpora za varnostne in projektne datoteke Visual Studia. ILSpy je orodje za deprevajalnik iz skupine SharpDevelop in je prav tako odprtokodno, njegov razhroščevalnik in dekompilator pa sta opisana spodaj.
Posnetek zaslona vmesnika ILspy
Vmesnik ILSpy je podoben Reflectorju, kjer drevesni kontrolniki prikazujejo sestavo in njeno vrsto na levi, na desni pa ustrezno izvorno kodo. Osnovna funkcija dekompilacije ni slaba v primerjavi s Reflectorjem, včasih pa jo je mogoče celo dekompilirati z ILSpy za sestave, ki jih ni mogoče dekompilirati (zaradi šifriranja) z Reflectorjem.
ILspy zahteva, da je na vašem računalniku nameščen .NET Framework 4.0.Obstaja več pogosto uporabljenih funkcij ILspyNa voljo je osnovna funkcija za dekompilacijo tipov Zdaj je podprta le dekompilacija izvorne kode v jezike C# in IL, ne VB. Upodobitve so:
ILSpyjeva funkcija shranjevanja kode Ko kliknete na tip, izberite File-> Save Code dekompilira trenutni tip in ga shrani v določeno datoteko, pri izbiri assembly pa se Save Code shrani kot projektna (csproj) datoteka in vsi njeni tipi se dodajo projektu.
Funkcija razhroščevalca v ILSpy Razhroščevalnik tukaj ne uporablja Visual Studiaizvirravni razhroščevalca, vendar se nanaša na razhroščevalnik asemblerja. Reflector ima dodatek, ki ga je mogoče neposredno priključiti na Visual Studio za odpravljanje napak v knjižnicah tipov tretjih oseb, ne da bi jih morali dekompilirati in jih dodajati v projekt v obliki izvorne kode. ILSpy ima tudi to funkcijo, ki omogoča neposredno odpravljanje napak v sestavah tretjih oseb, z dvema možnostma Če je knjižnica tretjih oseb za tipe izvršljiva, lahko program zaženete z Debug izvršljivo datoteko. Če je knjižnica tretjih oseb za tipe asembler (DLL), jo lahko priključite z aplikacijo Attachment, ki teče, da začnete odpravljati napake v asemblerju.
Kot lahko že vidite na zgornji sliki, je njena uporaba enaka kot odpravljanje napak pri izvorni kodi. Kjer morate spremljati vrednost spremenljivke, nastaviti prelomno točko, in ko program teče do te točke, lahko vrednost spremenljivke opazujete z nadzorom obrazca. Razlika med obema je v tem, da ko se Attach to the running application debuggne, če je koda optimizirana s strani prevajalnika, monitor ne dobi njene vrednosti.
Kot je prikazano na sliki, vrednosti spremenljivke num, ki se odpravlja napako, ni mogoče prikazati, ker je koda optimizirana. Uradna priporočena metoda je Debug a Executable Tako kot pri odpravljanju napak pri .NET izvorni kodi v Visual Studiu, lahko stopite v, Step over, nadaljujete, in statusna vrstica bo prikazala čakanje, izvajanje in odpravljanje napak.
Poleg odpravljanja napak kode v C#/VB obliki asemblerja jo je mogoče razhroščevati tudi v IL kodi, kot je prikazano na spodnji sliki
ILSpyjev razhroščevalnik obstaja kot vtičnik, poskrbite, da vključite vtičnik ILSpy.Debugger.
Ampak odpravljanje napak. .NET sestave morajo zahtevati PDB datoteke. Vendar ILSpy ne generira PDB datotek (PDB datotek ni ustvarjenih) in ne more odpravljati napak ASP.NET spletnih aplikacij in storitev.
|