|
Использование инструмента декомпиляции 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, и он с открытым исходным кодом. Он также предлагает довольно хорошие функции, почти переписывая 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 к запущенному приложению, чтобы начать отладку сборки.
Как уже видно на изображении выше, его использование аналогично отладке исходного кода. Если нужно отслеживать значение переменной, устанавливайте точку остановки, и когда программа запускается до этой точки, вы можете наблюдать значение переменной, отслеживая форму. Разница между ними в том, что при отладке Attach к запущенному приложению, если компилятор оптимизирует код, монитор не получает своё значение.
Как показано на изображении, значение переменной номер отладки не может быть отображен, так как код оптимизирован. Официально рекомендуемый метод — отладка исполняемого файла Как и при отладке исходного кода .NET в Visual Studio, вы можете зайти, перейти к нему, продолжить, и в строке статуса появится режим ожидания, запуск и отладка.
Помимо отладки кода в форме C#/VB ассемблера, его также можно отладить в IL-коде, как показано на рисунке ниже
Отладчик ILSpy существует как плагин, обязательно включите плагин ILSpy.Debugger.
Но отладка. .NET-сборки должны требовать PDB-файлы. Однако ILSpy не генерирует PDB-файлы (PDB-файлы не генерируются) и не может отладить ASP.NET веб-приложениях и веб-сервисах.
|