您的位置:金沙手机版下载 > 金沙手机版下载 > 0的编译及调试

0的编译及调试

2019-10-10 16:48

金沙手机版下载 1

将编写翻译生成内容全方位copy到coreclrbinProductWindows_NT.x64.Debug目录中

7.接下来正是发挥想象力的时候了,可以参照 GitHub coreclr 文书档案,关键岗位下断点,调节和测量试验ryujit宗旨代码。

金沙手机版下载 2

金沙手机版下载 3

 1 using System;
 2 using System.Runtime.CompilerServices;
 3 
 4 namespace test_core
 5 {
 6     class Program
 7     {
 8         const int Pass = 100;
 9         const int Fail = -1;
10         [MethodImplAttribute(MethodImplOptions.NoInlining)]
11         public static void DblRoots(double a, double b, double c, ref double r1, ref double r2)
12         {
13             r1 = (-b + Math.Sqrt(b * b - 4 * a * c)) / (2 * a);
14             r2 = (-b - Math.Sqrt(b * b - 4 * a * c)) / (2 * a);
15             return;
16         }
17         static int Main(string[] args)
18         {
19             double x1 = 0;
20             double x2 = 0;
21             DblRoots(1d, -5d, 6d, ref x1, ref x2);
22             Console.WriteLine(x1 + "," + x2);
23             if (System.Math.Abs(x1 - 3d) > Double.Epsilon) return Fail;
24             if (System.Math.Abs(x2 - 2d) > Double.Epsilon) return Fail;
25             string str = Console.ReadLine();
26             return Pass;
27 
28         }
29     }
30 }

4.配置Debug,Github上有相关描述,不过比较老,并不完全好用,上边步向本人个人领悟,重新整理如下:

用.Net Core2.0 SDK编写翻译如下代码,怎么样编写翻译自行脑补

8.可望此文能支持大家更便于的Debug CoreClr,迎接各路大牛引导。

金沙手机版下载 4

  • a. 找到文件夹 coreclrbinobjWindows_NT.x64.Debug ,VS2017打开 CoreCLR.sln
  • b.设置 INSTALL工程为运行项目。
  • c.设置 INSTALL工程->右键properties ->Debugging。
  • d.设置 Command=$(SolutionDir)....productWindows_NT.$(Platform).$(Configuration)corerun.exe。
  • e.设置 Command Arguments=<managed app you wish to run> (e.g. test_core.dll)。
  • f.设置 Directory=$(SolutionDir)....productWindows_NT.$(Platform).$(Configuration)以此文件夹包含了编译CoreCLSportage 生成的dll和pdb文件。
  • g.设置 Environment=CORE_LIBRARIES=C:Program FilesdotnetsharedMicrosoft.NETCore.App2.0.3 (此安插告诉CoreCLENVISION去此路线去找基础托管类库,不布署debug会抛错,为了便利直接针对本机.Net Core SDK内文件夹)。

一体化配置如下: 

3.整个希图就绪coreclr目录打开调控台 .build skiptests,长久等待,编写翻译落成如下:

 

小总结:前几日结束一共涉及到3方dll(托管和非托管):

5.用编译test_core.dll

6.VS2017中设置断点并运转查看test_core.dll的运转结果

金沙手机版下载 5

2.准备coreclr编写翻译情状 ,此番选拔Win10系统,VS2017编写翻译及调节和测量检验(本机VS2016,VS2017都设置了)。

 

  • 我们温馨编写翻译的托管 test_core.dll ,也是重大实验对象。
  • .NET Core SDK的托管基础类库System.Runtime.dll、System.Threading.dll、、、等(test_core.dll 相关托管信任)。
  • 大家编写翻译的CoreClr非托管dll,coreclr.dll、clrjit.dll、CoreRun.exe、、等,是我们根本的Debug对象。

1.下载最新 coreclr 源码金沙手机版下载,并切换来release/2.0.0分支 ,本小说首要目标是上学coreclr源码,由于主Master代码平素在更新,好些个新主题素材并未当即修复,选拔release分支能够制止过多编写翻译难题,同有时间也很平稳。

金沙手机版下载 6

小目的:大家的指标是用.Net Core 2.0 SDK编写翻译叁个小调节台程序 test_core.dll ,然后用VS2017 Debug coreclr 源码 ,接下去就能够详细调节和测验、查看test_core.dll 中IL代码是怎么一步步jit成Native代码的。**

本文由金沙手机版下载发布于金沙手机版下载,转载请注明出处:0的编译及调试

关键词: