|
Az ILSpy dekompilációs eszköz használata. Az ILspy azonban megköveteli, hogy a .NET Framework 4.0 telepítve legyen a számítógépeden. Az ILspy képes átalakítani egy dll fájlt C# vagy VB nyelvre. Az ILspy egyetlen fájlt is elmenthet .cs fájlként vagy .vb fájlként, és ha sok fájl van, választhatod, hogy projektfájlként mented el. A C# utasításokat az ILspy dekompilálhatja, és támogatják a yield return utasítások és lambdas kifejezések dekompilációját. Régebben a Reflectorral néztem meg néhány információt a .NET könyvtárról, de 2011 februárja óta a Reflector fizetős szoftverekre vált, így a szabad szoftvereket szerető fejlesztők saját dekompilált szoftverük fejlesztéséhez fordultak. Szóval az ILspy a szerencse miatt született. Az ILSPY egy nyílt forráskódú eszköz, amely lecseréli a reflektorokat, és a reflektorokhoz hasonló kódot dekompilál. A SharpDevelop egy másik és egyetlen . .NET nyílt eszköz, és nyílt forráskódú. Emellett elég jó funkciókat kínál, szinte újraírva a Visual Studio-t. A legfrissebb verzióban közvetlenül hozzáadták a támogatást a Visual Studio megoldásbiztonsági fájljaihoz és projektfájljaihoz. Az ILSpy a SharpDevelop csoport dekompilátor eszköze, amely szintén nyílt forráskódú, és annak hibakeresőjét és dekompilátorát az alábbiakban ismertetjük.
Képernyőkép az ILspy felületéről
Az ILSpy felülete hasonló a Reflectorhoz, a fa vezérlők bal oldalon mutatják az összeszerelést és annak típusát, a megfelelő forráskódot pedig jobbra. Az alapvető dekompilációs funkció nem rossz a Reflectorhoz képest, és néha még az ILSpy-val is dekompilálható olyan összeállításokhoz, amelyeket a Reflectorral nem lehet dekompilálni (titkosítás miatt).
Az ILspy megköveteli, hogy a .NET Framework 4.0-t telepítsék a számítógépedre.Az ILspy-nek több gyakran használt funkciója is létezikAz alapvető típus-dekompilációs függvény elérhető Most már csak a forráskód C# és IL nyelvekre történő dekompilálása támogatott, nem a VB-t. A képek a következők:
Az ILSpy kódmentési funkciója Egy típusra kattintáskor a File-> Save Code kiválasztása dekompilálja a jelenlegi típust, és elmenti a megadott fájlba, és assembly kiválasztásakor a Save Code projektfájlként (csproj) ment, és minden típusa hozzáadódik a projekthez.
Az ILSpy hibakereső funkciója A hibakereső itt nem a Visual Studio-ra utalforrása hibakereső szintje, de az assembly hibakeresőjére utal. A Reflector egy addinnal rendelkezik, amely közvetlenül a Visual Studio-hoz csatlakoztatható, hogy harmadik féltől származó könyvtárakat hibáztassa anélkül, hogy le kellene fordítani a harmadik féltől származó könyvtárakat és forráskódként hozzáadni a projekthez. Az ILSpy is megvan ezzel a funkcióval, amely lehetővé teszi, hogy harmadik fél összeállításait közvetlenül hibáztasd, két opcióval Ha a harmadik féltől származó könyvtár futtatható fájl, akkor a programot Debug segítségével indíthatod el egy futtatható eszközt. Ha a harmadik féltől származó könyvtár egy assembly (DLL), akkor csatlakoztathatod egy Attach funkcióval a futó alkalmazáshoz, hogy elkezdd a assembly hibakeresését.
Ahogy a fenti képen is látható, a használata ugyanaz, mint a forráskód hibakeresése. Ahol figyelni kell a változó értékét, megszakítási pontot kell beállítani, és amikor a program elfut idáig, akkor a változó értékét az űrlap figyelésével is megfigyelheted. A különbség a kettő között az, hogy amikor a Attach egy futó alkalmazáshoz hibakeresés történik, ha a kódot a fordító optimalizálja, a monitor nem kapja meg az értékét.
Ahogy a képen látható, a hibajavítandó változó értéke nem mutatható meg, mert a kódot optimalizálták. A hivatalos ajánlott módszer a Debug egy futtatható fájl Ahogy a .NET forráskód hibakereséséhez a Visual Studio-ban, be lehet lépni, átlépni, folytatni, és az állapot sávban látható lesz a kellenőrző, futó és hibakeresés.
A kód C#/VB formában történő hibakeresése mellett az IL kódban is hibakeresésre alkalmas, ahogy az alábbi ábrán látható
Az ILSpy hibakeresője pluginként létezik, mindenképp mellékeld az ILSpy.Debugger bővítményt.
De hibakeresés. A .NET összeállításoknak PDB fájlokat kell megkövetelniük. Az ILSpy azonban nem generál PDB fájlokat (PDB fájlok nem generálnak), és nem tudja hibáztatni ASP.NET webalkalmazásokat és webszolgáltatásokat.
|