使用Mono在Linux上查看C#代码的CIL

时间:2018-08-28 04:59:02

标签: c# linux mono cil

我想检查Linux上以下C#源文件的生成的CIL代码:

Route::resource('samples', 'SampleController');

当我编译并运行它时,一切都很好:

using System;
namespace PrintPrimes
{
    class Algorithm
    {
        static bool IsPrime(int p)
        {
            for (int i=2;i<p;i++)
            {
                for (int j=i;j<p;j++)
                {
                    if (i*j == p)
                    {
                        return false;
                    }
                }
            }
            return true;
        }
        static void Main() 
        {
            for (int p=2;p<=20;p++)
            {
                if (IsPrime(p))
                {
                    Console.WriteLine(p + " ");
                }
            }
        }
    }
}

但是如何获得人类可读的CIL输出?

1 个答案:

答案 0 :(得分:1)

Mono反汇编程序,从程序集中提取IL代码:

monodis FILE-name

完整参考可以在这里找到: https://www.mono-project.com/docs/tools+libraries/tools/monodis/

Dis /汇编CIL代码(Mono项目)