|
Използване на инструмента за декомпилация ILSpy. Въпреки това, ILspy изисква .NET Framework 4.0 да бъде инсталиран на вашия компютър. ILspy може да конвертира dll файл в C# или VB език. ILspy може да запази един файл като .cs или .vb файл, а когато има много файлове, можеш да избереш да го запазиш като проектен файл. C# операторите могат да бъдат декомпилирани от ILspy и могат да поддържат декомпилация на yield return и lambdas изрази. Преди използвах Reflector, за да разглеждам информация за .NET библиотеката, но от февруари 2011 г. Reflector преминава към платен софтуер, затова разработчиците, които обичат свободния софтуер, се насочиха към разработването на собствен декомпилиран софтуер. Така че ILspy се роди благодарение на късмета. ILSPY е инструмент с отворен код, който заменя рефлекторите и декомпилира код, подобен на рефлекторите. SharpDevelop е още един и неповторим. .NET open tool, и той е с отворен код. Предлага и доста добри функции, почти пренаписвайки Visual Studio. В последната версия е добавена директно поддръжка за файловете за сигурност на решението и проектните файлове на Visual Studio. ILSpy е инструмент за декомпилиране от групата SharpDevelop и също е с отворен код, а неговият дебъгер и декомпилатор са описани по-долу.
Скрийншот на интерфейса на ILspy
Интерфейсът на ILSpy е подобен на Reflector, като дървета показват асемблера и типа му отляво, а съответния изходен код отдясно. Основната функция за декомпилация не е по-лоша в сравнение с Reflector, а понякога дори може да се декомпилира с ILSpy за асембли, които не могат да бъдат декомпилирани (поради криптиране) с Reflector.
ILspy изисква .NET Framework 4.0 да бъде инсталиран на вашия компютър.Съществуват няколко често използвани функции на ILspyОсновната функция за декомпилация на типове е налична Сега се поддържа само декомпилиране на изходния код в C# и IL езици, не и VB. Визуализациите са:
Функцията за запазване на код на ILSpy При кликване върху тип, избирането на File-> Save Code декомпилира текущия тип и го запазва в посочения файл, а при избор на асемблер, Save Code се запазва като project (csproj) файл и всички негови типове се добавят към проекта.
Функцията за дебъгер на ILSpy Дебъгерът тук не се отнася до Visual Studioизточникниво на дебъгер, но се отнася до дебъгера на сглобката. Reflector има добавка, която може да се свърже директно с Visual Studio, за да отстранява грешки на библиотеки от типове на трети страни, без да се налага да се декомпилират библиотеките с типове на трети страни и да се добавят към проекта под формата на изходен код. ILSpy има и тази функция, която ви позволява да отстранявате грешки директно на външни сглобки, с две опции Ако библиотеката с типове на трета страна е изпълним файл, можете да стартирате програмата с Debug изпълним файл. Ако библиотеката от типове на трета страна е асемблер (DLL), можете да я свържете с Attach към работещо приложение, за да започнете отстраняване на грешки.
Както вече се вижда от изображението по-горе, употребата му е същата като при дебъгване на изходен код. Където трябва да наблюдавате стойността на променливата, зададете точка на прекъсване и когато програмата стигне до тази точка, можете да наблюдавате стойността на променливата, като наблюдавате формата. Разликата между двете е, че когато Attach към работещо приложение се дебъгва, ако кодът е оптимизиран от компилатора, мониторът няма да получи стойността си.
Както е показано на изображението, стойността на променливата num, която се дебъгва, не може да се покаже, защото кодът е оптимизиран. Официално препоръчаният метод е Debug, изпълним файл Както при дебъгването на .NET изходен код във Visual Studio, можете да влезете, да преминете, да продължите и в лентата със статус ще се покаже готовност, работа и отстраняване на грешки.
Освен отстраняването на грешки в C#/VB формата на асемблера, той може да бъде дебъгван и в IL код, както е показано на фигурата по-долу
Дебъгерът на ILSpy съществува като плъгин, уверете се, че включвате плъгина ILSpy.Debugger.
Но дебъгване. .NET асемблерите трябва да изискват PDB файлове. Въпреки това, ILSpy не генерира PDB файлове (не се генерират PDB файлове) и не може да дебъгва ASP.NET уеб приложения и уеб услуги.
|