|
ILSpy-dekompilointityökalun käyttö. ILspy kuitenkin vaatii, että .NET Framework 4.0 on asennettu tietokoneellesi. ILspy voi muuntaa dll-tiedoston C#- tai VB-kieleksi. ILspy voi tallentaa yhden tiedoston .cs tiedostona tai .vb-tiedostona, ja kun tiedostoja on paljon, voit valita tallentaa sen projektitiedostona. C#-lauseet voidaan dekompioida ILspyllä, ja ne voivat tukea yield-palautuslausekkeiden ja lambdas-lausekkeiden decompilointia. Käytin aiemmin Reflectoria katsoakseni tietoa .NET-kirjastosta, mutta helmikuusta 2011 lähtien Reflector on siirtynyt maksullisiin ohjelmistoihin, joten vapaata ohjelmistoa rakastavat kehittäjät ovat siirtyneet kehittämään omaa dekompatoitua ohjelmistoaan. Joten ILspy syntyi onnesta. ILSPY on avoimen lähdekoodin työkalu, joka korvaa heijastimet ja purkaa koodia, joka muistuttaa heijastimia. SharpDevelop on toinen ja ainoa . .NET on avoin työkalu, ja se on avoimen lähdekoodin. Se tarjoaa myös varsin hyviä ominaisuuksia, melkein kuin uudelleenkirjoittaa Visual Studion. Viimeisimmässä versiossa Visual Studion ratkaisujen tietoturvatiedostojen ja projektitiedostojen tuki on lisätty suoraan. ILSpy on SharpDevelop-ryhmän decompiler-työkalu ja myös avoimen lähdekoodin, ja sen debugger ja decompiler on kuvattu alla.
Kuvakaappaus ILspyn käyttöliittymästä
ILSpyn käyttöliittymä on samankaltainen kuin Reflectorissa: puun ohjaimet näyttävät kokoonpanon ja sen tyypin vasemmalla ja vastaavan lähdekoodin oikealla. Perus dekompilointitoiminto ei ole huono verrattuna Reflectoriin, ja joskus se voidaan jopa dekompoida ILSpyllä kokoonpanoille, joita ei voi dekompoida (salauksen vuoksi) Reflectorilla.
ILspy vaatii .NET Framework 4.0:n asennuksen tietokoneellesi.ILspy:ssä on useita yleisesti käytettyjä ominaisuuksiaPerustyyppien dekompilaatiofunktio on saatavilla Nyt tuetaan vain lähdekoodin purkamista C#- ja IL-kielille, ei VB:tä. Renderöinnit ovat:
ILSpyn koodin tallennusominaisuus Kun klikkaat tyyppiä, valitsemalla File-> Save Code, dekompaatsee nykyisen tyypin ja tallentaa sen määritettyyn tiedostoon, ja assemblyn valinnassa Save Code tallennetaan projektitiedostoksi (csproj) ja kaikki sen tyypit lisätään projektiin.
ILSpyn debugger-ominaisuus Tässä virheenkorjaaja ei viittaa Visual Studioonlähdedebuggerin taso, mutta viittaa assemblyn debuggeriin. Reflectorissa on lisäosa, joka voidaan liittää suoraan Visual Studioon kolmannen osapuolen tyyppisten kirjastojen virheenkorjaukseen ilman, että kolmannen osapuolen kirjastoja tarvitsee dekompoida ja lisätä ne projektiin lähdekoodina. ILSpyssä on myös tämä ominaisuus, jonka avulla voit debugata kolmannen osapuolen kokoonpanoja suoraan kahdella vaihtoehdolla Jos kolmannen osapuolen tyyppinen kirjasto on suoritettava tiedosto, voit käynnistää ohjelman Debug-tiedostolla, joka on suoritettava tiedosto. Jos kolmannen osapuolen tyyppikirjasto on assembleri (DLL), voit liittää sen Attach -toiminnolla käynnissä olevaan sovellukseen aloittaaksesi assemblyn debuggauksen.
Kuten yllä olevasta kuvasta jo näkyy, sen käyttö on sama kuin lähdekoodin virheenkorjaus. Missä sinun täytyy seurata muuttujan arvoa, asettaa katkopiste ja kun ohjelma toimii tähän asti, voit havaita muuttujan arvon seuraamalla muotoa. Ero näiden kahden välillä on se, että kun Attach to the running -sovellukseen debugoidaan, jos koodi optimoidaan kääntäjän toimesta, näyttö ei saa arvoaan.
Kuten kuvassa näkyy, debuggattavan muuttujan numeron arvoa ei voida näyttää, koska koodi on optimoitu. Virallinen suositeltu menetelmä on Debug suoritettava tiedosto Kuten .NET-lähdekoodin debuggauksessa Visual Studiossa, voit astua sisään, astua yli, jatkaa, ja tilapalkki näyttää valmiudet, käynnissä ja debuggauksen.
Koodin debuggauksen lisäksi kokoonpanon C#/VB-muodossa, se voidaan debuggata myös IL-koodilla, kuten alla olevassa kuvassa on esitetty
ILSpyn debugger on olemassa lisäosana, muista sisällyttää ILSpy.Debugger-lisäosa.
Mutta debuggaus. .NET-kokoonpanojen on vaadittava PDB-tiedostoja. ILSpy ei kuitenkaan tuota PDB-tiedostoja (PDB-tiedostoja ei luoda), eikä se voi debugata ASP.NET web-sovelluksia ja web-palveluita.
|