powered by simpleCommunicator - 2.0.55     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / IL: чем можно получить код всего модуля?
13 сообщений из 13, страница 1 из 1
IL: чем можно получить код всего модуля?
    #38871855
WinterGraveyard
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем привет.
Сейчас изучаю Рихтера, "CLR via C#", и там часто даются отсылки к IL-коду, который в тех или иных случаях генерит компилятор, поэтому самому тоже приходится что-то писать на C#, компилировать, и смотреть полученный IL-код. Для просмотра IL пользуюсь стандартным ildasm.exe, но у него есть одно неудобство - можно посмотреть код только для отдельного взятого мембера класса. А есть ли в природе такой инструмент, который бы показал IL-код всего класса целиком? Или всего модуля целиком (если, например, в одном .cs объявлено несколько классов/структур/интерфейсов/енумов/делегатов)?
...
Рейтинг: 0 / 0
IL: чем можно получить код всего модуля?
    #38871921
Сон Веры Павловны
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Teleric JustDecompile это умеет - по крайней мере, показывать код для всего класса:
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
class Program
{
  static void Main()
  {
    Action<int> action = Console.WriteLine;
    action(123);
  }
}


=>
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
.class private auto ansi beforefieldinit test.Program
    extends [mscorlib]System.Object
{
    .method public hidebysig specialname rtspecialname instance void .ctor () cil managed 
    {
        IL_0000: ldarg.0
        IL_0001: call instance void [mscorlib]System.Object::.ctor()
        IL_0006: ret
    }

    .method private hidebysig static void Main () cil managed 
    {
        .entrypoint
        .locals init (
            [0] class [mscorlib]System.Action`1<int32> action
        )

        IL_0000: ldnull
        IL_0001: ldftn void [mscorlib]System.Console::WriteLine(int32)
        IL_0007: newobj instance void class [mscorlib]System.Action`1<int32>::.ctor(object,  native int)
        IL_000c: stloc.0
        IL_000d: ldloc.0
        IL_000e: ldc.i4.s 123
        IL_0010: callvirt instance void class [mscorlib]System.Action`1<int32>::Invoke(!0)
        IL_0015: ret
    }
}


нужно просто выбрать IL в комбобоксе с языками на панели инструментов
...
Рейтинг: 0 / 0
IL: чем можно получить код всего модуля?
    #38871924
Winnipuh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Telerik JustDecompile
Red-gate NET Reflector
Jet Brains dotPeek
...
Рейтинг: 0 / 0
IL: чем можно получить код всего модуля?
    #38871955
Сон Веры Павловны
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
WinnipuhJet Brains dotPeek
И где в dotPeek эта фича? У меня на данный момент dotPeek 1.3 update 1 - в упор не наблюдаю там такой возможности. И ранее никогда не наблюдал.
WinnipuhRed-gate NET Reflector
Он давным-давно уже платный.
...
Рейтинг: 0 / 0
IL: чем можно получить код всего модуля?
    #38872658
Winnipuh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сон Веры ПавловныWinnipuhJet Brains dotPeek
И где в dotPeek эта фича? У меня на данный момент dotPeek 1.3 update 1 - в упор не наблюдаю там такой возможности. И ранее никогда не наблюдал.
WinnipuhRed-gate NET Reflector
Он давным-давно уже платный.

2. как минимум 14 дней можно как-то использовать, если юзер честный
1. по крайней мере удобнее, чем ildasm
...
Рейтинг: 0 / 0
IL: чем можно получить код всего модуля?
    #38872704
Сон Веры Павловны
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Winnipuh2. как минимум 14 дней можно как-то использовать, если юзер честный
И зачем это нужно, если есть бесплатные аналоги с таким же функционалом?
Winnipuh1. по крайней мере удобнее, чем ildasm
Что удобнее? dotPeek, который вообще не умеет показывать IL?
...
Рейтинг: 0 / 0
IL: чем можно получить код всего модуля?
    #38872731
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
меня ilspy устраивает
...
Рейтинг: 0 / 0
IL: чем можно получить код всего модуля?
    #38872768
Winnipuh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сон Веры ПавловныWinnipuh2. как минимум 14 дней можно как-то использовать, если юзер честный
И зачем это нужно, если есть бесплатные аналоги с таким же функционалом?
Winnipuh1. по крайней мере удобнее, чем ildasm
Что удобнее? dotPeek, который вообще не умеет показывать IL?

да
...
Рейтинг: 0 / 0
IL: чем можно получить код всего модуля?
    #38872908
netivan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Изопропилменя ilspy устраивает
++
...
Рейтинг: 0 / 0
IL: чем можно получить код всего модуля?
    #38872961
WinterGraveyard
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем спасибо. Посмотрел JustDecompile и IL Spy - по части работы с IL у них практически одинаковый функционал. Чтобы долго не думать, что выбрать, подкинул пятак, и выбрал JustDecompile )
...
Рейтинг: 0 / 0
IL: чем можно получить код всего модуля?
    #38873207
Winnipuh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
WinterGraveyardВсем спасибо. Посмотрел JustDecompile и IL Spy - по части работы с IL у них практически одинаковый функционал. Чтобы долго не думать, что выбрать, подкинул пятак, и выбрал JustDecompile )

Все зависит от анализируемого файла, иногда приходится пользоваться не одним из продуктов.
Один может не работать, а другой работать.
...
Рейтинг: 0 / 0
IL: чем можно получить код всего модуля?
    #38873308
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
WinnipuhВсе зависит от анализируемого файла, иногда приходится пользоваться не одним из продуктов.
Один может не работать, а другой работать.
ага. а иногда можно просто исходники открыть :)

http://referencesource.microsoft.com/
...
Рейтинг: 0 / 0
IL: чем можно получить код всего модуля?
    #38873391
Сон Веры Павловны
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ИзопропилWinnipuhВсе зависит от анализируемого файла, иногда приходится пользоваться не одним из продуктов.
Один может не работать, а другой работать.
ага. а иногда можно просто исходники открыть :)

http://referencesource.microsoft.com/
Ээ... человек спрашивал про IL.
...
Рейтинг: 0 / 0
13 сообщений из 13, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / IL: чем можно получить код всего модуля?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]