在Windows上编译和调试CoreCLR

这篇具有很好参考价值的文章主要介绍了在Windows上编译和调试CoreCLR。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

生成CoreCLR - Windows篇

本文的唯一目的就是让你运行Hello World

运行环境

Window 7+

Visual studio 2015

确保C++ 工具已经被安装,默认是不安装的,所以要选择自定义模式,VS 2015 精简版不支持。

CMake

下载 CMake for windows,并把Cmake的目录添加到为PATH的系统变量里。

Python

下载Python for windows 并安装,并把Python的目录地址添加到Path系统变量中。

Powershell

powershell版本必须大于等于3.0,因为我用的是WIN10,默认为4.0,所以不用特别升级。

Git

新建一个目录,名字为git,当然名字随便取,放在一个你觉得适合的地方。然后在bash中执行如下命令克隆Repo.

C:\git>git clone https://github.com/dotnet/coreclr
C:\git>git clone https://github.com/dotnet/corefx

Demo 目录

新建一个目录,然后新建2个文件夹,一个取名叫runtime,一个取名叫packages.

Nuget

下载Nuget客户端 并放在一个你觉得合适的地方。

Build

进入刚刚克隆好的目录,然后执行build clean命令,系统会先安装coreclr cli,这是个很长的过程,估计整个流程全跑完要30~40分钟,所以耐心等吧。

对于CoreFx,那么就只要执行Build 就够了。

复制DLL

一张图足矣,CoreClr需要复制上面的文件,而CoreFx,只需要复制需要的,对于你这个CS文件来说需要的。文件从bin/product目录底下找。

在Windows上编译和调试CoreCLR

生成EXE

使用VS2015的命令行工具,执行如下命令,当然路径什么的自己改。

csc /nostdlib /noconfig /r:runtime\mscorlib.dll /out:runtime\helloworld.exe helloworld.cs

Debug

大公告完了?没呢,没DEBUG算什么完成。

  1. 找到CoreCLR.sln这个项目(当然前提是编译过了,不然直接从GIT上下载的没这个东西),我电脑里面的目录是:D:\coreclr2\coreclr\bin\obj\Windows_NT.x64.Debug。
  2. 找到Install并设为启动项目
  3. 右键Install项目->属性->调试,设置命令为:$(SolutionDir)..\..\product\Windows_NT.$(Platform).$(Configuration)\corerun.exe,命令参数:HelloWorld.exe,工作目录为:$(SolutionDir)..\..\product\Windows_NT.$(Platform).$(Configuration),
  4. 按下F11,忽略一切阻碍!

    在Windows上编译和调试CoreCLR

问题汇总

在Windows上编译和调试CoreCLR

解决方法 ,不过这种方法并不是最好的,因为会拖慢速度,因为是从远程下载PDB。

但是遗憾的是,我的CoreCLR启动失败了。@dudu,求教为什么会失败?

在Windows上编译和调试CoreCLR

PS:编辑于2016-5-28 ,使用Windbg进行调试时候Symbol file could not be found的问题解决方法,使用Windbg进行调试的教程请参见本文的评论,如果出现了符号未加载,那么怎么解决呢?首先在VS中的选项->调试里面 找到符号的缓存地,如果还有不清楚的,请参见本文的其他地方;设置好以后,按一下F5运行一下程序,这个时候回自动从微软的符号服务器中下载PDB文件,并缓存到此目录。

在Windows上编译和调试CoreCLR

然后打开Windbg并运行此EXE文件,在窗口中输入如下命令:

.sympath D:\symbolCache;srv*c:\debugmsft*http://msdl.microsoft.com/download/symbols

然后再.restart重启就OK了。

在Windows上编译和调试CoreCLR文章来源地址https://www.toymoban.com/news/detail-505789.html

到了这里,关于在Windows上编译和调试CoreCLR的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • ffmpeg windows编译及调试完整版

    目录 编译 基础环境准备 依赖环境安装 依赖库安装 X264 fdk-aac X265 ffmpeg-4.3.6 调试 基础项目环境搭建 VS2019项目创建 VS2019项目代码 vs2019配置 VS2019调试 基础环境准备 1、安装vs2019环境 2、安装msys2工具 3、开始菜单启动x86 Native Tools Command Prompt for VS2019 4、进入msys2安装目录找到msy

    2024年02月11日
    浏览(31)
  • Windows NT 驱动程序的编译、安装、调试

    Windows 驱动分为两类,一类是从 Windows NT 遗留下来的驱动模型称为传统的 Windows NT 驱动程序模型,另一类是 Windows 添加了电源管理后的 KMDF (WDM)驱动程序。本文这里首先以最简单的 Windows NT 驱动模型为例介绍 Windows 驱动的简单编写、编译、安装及调试。 如果有学习过 Linux

    2024年02月16日
    浏览(43)
  • windows上编译linux程序

    有些项目创建之初,(仅考虑在linux上运行)不考虑在windows原生编译,所以以没有采用跨平台的API进行开发。 后续想要将项目从linux上,移植到windows上运行。要么是重写不能跨平台的代码;要么是在cygwin这样的环境下编译。前者,我做过一遍。后者,本次来尝试下。 Cygwin 和M

    2024年02月09日
    浏览(21)
  • windows下使用microsoft、intel、gnu不同编译器利用cmake和vscode对c++和fortran程序进行编译和调试

    由于编译器支持特性、编译后程序运行速度、安装使用便捷程度等的不同,我们往往会安装多种不同的编译器。对于c++语言主要的编译器有:microsoft、intel、gnu等,对于fortran语言则更多,包括gnu、intel、pgi等等。不同的编译器在一个系统下,往往需要利用一些手段进行区分,

    2024年02月05日
    浏览(46)
  • 【交叉编译踩坑指北(一)】windows10下Vscode与Cmake编译生成文件

      工具链版本如下 C:UsersLenovocmake -version cmake version 3.24.2 C:UsersLenovomingw32-make -v GNU Make 4.2.1 Built for x86_64-w64-mingw32   若没有以上工具则进行安装,将bin文件加入到环境变量中, 注意:有的交叉编译器在安装时选择自动加入环境变量可能并不会加入,还是需要手动加入环

    2023年04月15日
    浏览(40)
  • Android:Linux上编译OpenCV的Android库,从源码编译出一个轻量级的OpenCV安卓库

    (原文在这里,我根据这篇文章终于也能编译成功可以使用的OpenCV库文件了: Linux上编译OpenCV的Android库 https://zhuanlan.zhihu.com/p/301203711 整个编译过程只用下载Android NDK和OpenCV源码。工具链android.toolchain.cmake,是NDK:android-ndk-r19c-linux-x86_64自带的,不用自己编译了。使用WSL Ubuntu记

    2024年02月05日
    浏览(43)
  • 【Python微信机器人】第一篇:在windows11上编译python

    我打算写一个系列,内容是将python注入到其他进程实现inline hook和主动调用。本篇文章是这个系列的第一篇,后面用到的案例是 注入python到PC微信实现基本的收发消息 。文章着重于python方面的内容,所以对于微信找收发消息的call不会去讲过程,有兴趣的可以直接百度搜 PC微信

    2024年02月08日
    浏览(34)
  • windows/linux/mac上编译open3d 0.17.0

    1、本文内容 windows/linux/mac上编译open3d 0.17.0 2、平台 通过cmake构建项目,跨平台通用 3、转载请注明出处: https://blog.csdn.net/qq_41102371/article/details/131891820 clone源码,指定0.17.0版本 运行下面的命令或者保存至compile.bat运行 如果遇到 error C4996: ‘fmt::v9::detail::arg_mapper::map’: 被声明为

    2024年02月16日
    浏览(26)
  • Linux(Ubantu)交叉编译生成windows(32位,64位)可执行程序和库

    机缘巧合下收到了这个小任务. 先是找了下资料发现过去的都是关于mingw32. 教程的做法: 增加个源 (trusty 是linux发行的版本标识,比如22.04是 jammy 更新源 下载mingw32. 结果发现在源里根本找不到 mingw32 报错 Unable to locate package mingw32 最后发现 ubantu高于15.04的版本 mingw32不可用 ,这也

    2024年01月21日
    浏览(32)
  • 在Windows10上编译grpc工程,得到protoc.exe和grpc_cpp_plugin.exe

        grpc是google于2015年发布的一款跨进程、跨语言、开源的RPC(远程过程调用)技术。使用C/S模式,在客户端、服务端共享一个protobuf二进制数据。在点对点通信、微服务、跨语言通信等领域应用很广,下面介绍grpc在windows10上编译,这里以编译grpc v1.42.0版本为例,进行说明,如

    2024年02月10日
    浏览(19)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包