|
Використання інструменту декомпіляції ILSpy. Однак ILspy вимагає встановлення .NET Framework 4.0 на вашому комп'ютері. ILspy може конвертувати dll-файл у мову C# або VB. ILspy може зберегти один файл як .cs або .vb файл, а коли файлів багато, ви можете обрати збереження його як проєктного файлу. Оператори C# можна декомпілювати за допомогою ILspy, і вони можуть підтримувати декомпіляцію операторів yield return та лямбдас-виразів. Раніше я користувався Reflector для перегляду інформації про бібліотеку .NET, але з лютого 2011 року Reflector перейшов на платне програмне забезпечення, тому розробники, які люблять вільне програмне забезпечення, перейшли до створення власного декомпільованого програмного забезпечення. Отже, ILspy народився завдяки удачі. ILSPY — це інструмент з відкритим кодом, який замінює рефлектори та декомпілює код, подібно до рефлекторів. SharpDevelop — ще один і неповторний. Відкритий інструмент .NET, і він є відкритим кодом. Вона також пропонує досить хороші функції, майже переписуючи 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 зберігається як файл проєкту (csproj), і всі його типи додаються до проєкту.
Функція відлагодження ILSpy Відлагоджувач тут не стосується Visual Studioджерелорівень відлагоджувача, але стосується відлагоджувача збірки. Reflector має аддін, який можна підключити безпосередньо до Visual Studio для налагодження бібліотек сторонніх типів без необхідності декомпіляції сторонніх бібліотек типів і додавання їх до проєкту у вигляді вихідного коду. ILSpy також має цю функцію, яка дозволяє безпосередньо налагоджувати сторонні збірки з двома опціями Якщо бібліотека типів третьої сторони є виконуваним файлом, ви можете запустити програму з Debug виконуваного файлу. Якщо стороння бібліотека типів — це асемблер (DLL), ви можете приєднати її за допомогою Attach to запущеного додатку, щоб почати налагоджувати асемблер.
Як вже видно з зображення вище, його використання таке ж, як і налагодження вихідного коду. Де потрібно відстежувати значення змінної, встановити точку зупину, і коли програма працює до цієї точки, ви можете спостерігати значення змінної, відстежуючи форму. Різниця між ними полягає в тому, що коли Attach до запущеного додатку налагоджується, якщо компілятор оптимізує код, монітор не отримає його значення.
Як показано на зображенні, значення змінного num, що відлагоджується, не можна відобразити, оскільки код оптимізовано. Офіційно рекомендований метод — Debug виконуваного файлу Як і при налагодженні .NET вихідного коду у Visual Studio, ви можете зайти, перейти до них, продовжити, і в рядку стану з'явиться режим очікування, запуск і налагодження.
Окрім налагодження коду у форматі C#/VB асемблера, його також можна налагоджувати в IL коді, як показано на рисунку нижче
Відлагоджувач ILSpy існує як плагін, обов'язково додайте плагін ILSpy.Debugger.
Але налагодження. .NET-асемблі повинні вимагати PDB-файли. Однак ILSpy не генерує PDB-файли (PDB-файли не генеруються) і не може налагоджувати ASP.NET веб-додатках і веб-сервісах.
|