需要的软件环境:

  • Oracle VM VirtualBox

  • CentOS 7

  • llvm lldb 3.6.0 (3.5.0我试过 dumpobj时候一直报无效参数 Invalid parameter T_T)

先在VirtualBox创建新虚机:
一路 Next ,文件位置可以自定义下(默认是在Users/当前用户/.. 目录下)
创建完选在
设置 – 存储 里 选下 CentOS7的镜像文件
设置 – 网络里选 桥接网卡
然后启动虚机 开始安装CentOS7

安装过程基本都是默认选项,键盘、时区选下、软件选择 选 最小安装(Minimal Install)
开始安装,设置下root账号的密码

  • 下面所有命令都是在root权限下完成的

安装后重启
root登录后先改网卡配置:
/etc/sysconfig/network-scripts/ 目录下会有个 ifcfg-e开头的文件,修改其内容:onboot=no改成onboot=yes
然后用 ifup 命令激活网口

安装net-tools
yum -y install net-tools
ifconfig 查看下IP地址

有了IP后就可以用自己习惯的ssh工具连接啦,比如:PuTTY

默认防火墙 systemctl disable firewalld.service
重启 reboot
验证状态 firewall-cmd --state

安装 dotnet SDK
mkdir /home/tool && cd /home/tool

下SDK
curl -sSL -o dotnet-1.1.tar.gz https://go.microsoft.com/fwlink/?LinkID=835019

创建目录 解压
mkdir -p /opt/dotnet && tar zxf dotnet-1.1.tar.gz -C /opt/dotnet

创建链接
ln -s /opt/dotnet/dotnet /usr/local/bin

验证 dotnet --info

如果验证出现如下错误

12
Failed to load /opt/dotnet/shared/Microsoft.NETCore.App/1.1.0/libcoreclr.so, error: libunwind.so.8: cannot open shared object file: No such file or directoryFailed to bind to CoreCLR at '/opt/dotnet/shared/Microsoft.NETCore.App/1.1.0/libcoreclr.so'

则安装:yum install libunwind

如果验证出现如下错误

1
Failed to initialize CoreCLR, HRESULT: 0x80131500

则安装:yum install icu

成功则会有版本信息:

接下来安装llvm lldb

相关依赖安装:

  • yum -y install wget

  • yum install gcc

  • yum install gcc-c++

  • yum install swig python-devel libedit-devel

下载llvm的源代码:

  • wget http://releases.llvm.org/3.6.0/llvm-3.6.0.src.tar.xz

  • tar -xf llvm-3.6.0.src.tar.xz

  • mv llvm-3.6.0.src llvm

下载clang的源代码:

  • cd llvm/tools

  • wget http://releases.llvm.org/3.6.0/cfe-3.6.0.src.tar.xz

  • tar -xf cfe-3.6.0.src.tar.xz

  • mv cfe-3.6.0.src clang

下载lldb的源代码:

  • wget http://releases.llvm.org/3.6.0/lldb-3.6.0.src.tar.xz

  • tar -xf lldb-3.6.0.src.tar.xz

  • mv lldb-3.6.0.src lldb

下载compiler-rt的源代码:

  • cd ../projects

  • wget http://releases.llvm.org/3.6.0/compiler-rt-3.6.0.src.tar.xz

  • tar -xf compiler-rt-3.6.0.src.tar.xz

  • mv compiler-rt-3.6.0.src compiler-rt

下载libcxxabi的源代码:

  • wget http://releases.llvm.org/3.6.0/libcxxabi-3.6.0.src.tar.xz

  • tar -xf libcxxabi-3.6.0.src.tar.xz

  • mv libcxxabi-3.6.0.src libcxxabi

下载libcxx的源代码:

  • wget http://releases.llvm.org/3.6.0/libcxx-3.6.0.src.tar.xz

  • tar -xf libcxx-3.6.0.src.tar.xz

  • mv libcxx-3.6.0.src libcxx

配置编译选项:

  • cd ..

  • ./configure --enable-optimized CC=gcc CXX=g++

编译llvm:

  • make

漫长的等待… … …

如果编译过程这样的错误c++: internal compiler error: Killed (program cc1plus 则增加swap分区文件大小后再试:
dd if=/dev/zero of=/swapfile bs=1k count=2048000
mkswap /swapfile
swapon /swapfile

编译成功后 只安装lldb,进入llvm/tools/lldb中运行 make install

创建一个.net core web站点
mkdir -p /home/www/core01 && cd /home/www/core01

dotnet new -t web
dotnet restore
ASPNETCORE_URLS="http://*:5000" dotnet run

启动lldb 附加进程 加载SOS调试扩展

执行SOS命令:soshelp

看到熟悉的托管调试命令 甚是亲切 赶紧试试

此文只是简单快速的搭建 .NET Core 在CentOS7下运行时的调试环境,后续再总结 Windbg 和 LLDB 之间的命令习惯差异。

参考文档:

https://github.com/dotnet/coreclr/blob/master/Documentation/building/debugging-instructions.md
http://www.cnblogs.com/dudu/p/build-coreclr-on-centos.html
http://www.cnblogs.com/dudu/p/4294374.html

相关文章:

  • CLR运行时细节 - Method Descriptor

  • CLR运行时细节 - 继承多态的实现

原文地址:https://espider.github.io/NET-Core/dotnet-core-lldb/


.NET社区新闻,深度好文,微信中搜索dotNET跨平台或扫描二维码关注

赞赏

人赞赏

快速搭建本地 .NET Core 运行时调试环境相关推荐

  1. docker mysql 操作_[Docker] Docker 快速搭建本地MySQL开发环境

    [Docker] Docker 快速搭建本地MySQL开发环境 关于 Docker 的安装使用本文不再赘述,有兴趣的可以通过官网或是浏览我的专栏文章了解.今天着重给大家介绍下如何利用Docker快速搭 ...

  2. .NET Core运行时和基础类库性能提升

    微软宣布改进了.NET Core运行时和基础类库的性能.虽然没有像改进ASP.NET Core的性能那样大肆宣传,但这些改进同样重要. 其中,以下10个方面的变化比较显著:集合.LINQ.压缩.加密. ...

  3. java -jar debug_java – 如何在运行时调试jar?

    我是一个很奇怪的位置(从我的java-newbie的角度): >使用Eclipse我写了一个"java程序"(一些具有类的.java文件),其中基本上(批处理)读取一个文本* ...

  4. 前端快速搭建本地服务器的几种方法

    背景:在前端项目中搭建本地服务器可以实现多个设备(手机和电脑)运行同一个地址就可以看到效果前提是在局域网内,以前用的Apache搭建本地服务器来运行前端静态项目,现在可以同过node直接搭建或者是直接 ...

  5. 用pycharm搭建odoo 12, 11,10 开发调试环境

    用pycharm搭建odoo 12, 11,10 开发调试环境 个人认为在windows平台下Pycharm 是最好的 odoo开发工具, 配置简单,操作简便,界面清爽,支持远程调试python,ja ...

  6. 快速搭建本地FTP服务器的方法

    快速搭建一个本地的FTP服务器 快速搭建一个本地的FTP服务器   如果需要开发FTP文件上传下载功能,那么需要在本机上搭建一个本地FTP服务器,方便调试. 第一步:配置IIS Web服务器 1.1 ...

  7. 快速搭建本地服务器 php,本地PHP服务器环境快速搭建

    * 下载WampServer64,安装并运行: 如果出现运行时错误(缺少.dll)就先卸载,并安装相应的VC++ redistribute 120 对应的是2013版本 140对应的是2015版本 1 ...

  8. 护卫神php套件快速搭建本地IIS网站,及解决80端口被封、动态IP甚至无公网IP

    护卫神php套件是开放的PHP套件,整合内容有: PHP 5.2.17 MySQL 5.5.19.0 PhpMyAdmin 3.5.3 MyODBC 3.51 ZendOptimizer 3.3.0 ...

  9. zookeeper -- Mac 上 Intellij IDEA 配置 zookeeper(3.5.8) 源码阅读、运行、调试环境

    近期需要整理MIT6.824 中 分布式系统协调服务 zookeeper 的一些知识,想要在Mac 本地搭建一个可以方便运行调试的zookeeper环境,这玩意竟然耗费了一上午的时间,实在是不可忍:当 ...

最新文章

  1. 完整的项目工程目录结构
  2. Nginx面试中最常见的18道题及答案
  3. OAuth(开放授权):(第三方)通过(授权)令牌(Access Token)访问用户数据
  4. 软考系统架构师笔记-案例分析重点(一)
  5. 外媒:欧盟针对谷歌语音助手展开反垄断调查
  6. 算法训练 表达式计算
  7. Python之协程、异步IO、redis缓存、rabbitMQ队列
  8. 常用邮箱的POP3、IMAP地址
  9. PCB电路板生产完成分析
  10. unity播放360全景视频
  11. U-net复现pytorch版本 以及制作自己的数据集并训练
  12. 学习移动机器人SLAM、路径规划必看的几本书
  13. 阿里小蜜这一年,经历了哪些技术变迁?
  14. 05-SparkRDD原理和编程接口
  15. Kimball维度建模
  16. PAT-1032 挖掘机技术哪家强
  17. Keras(1):Keras安装与简介
  18. 02_C++实现多线程服务器代码(linux系统)
  19. 对机载预警雷达STAP的慢时调频干扰matlab
  20. 魅声T800声卡调试教程

热门文章

  1. .NET6之MiniAPI(九):基于角色的身份验证和授权
  2. Ant Design Blazor 组件库的路由复用多标签页介绍
  3. NET问答: 是否有通用的方法判断一个 Type 是 Number ?
  4. NET问答:如何理解 IEnumerableT 和 IQueryableT
  5. 开源推荐:.Net Core3.1 + EF Core + LayUI 封装的MVC版后台管理系统
  6. 移动 Azure 资源后如何快速修复 Dashboard
  7. 快速了解 ASP.NET Core Blazor
  8. 双城生活,一种相对无奈且幸福的选择
  9. ABP快速开发一个.NET Core电商平台
  10. 全局变量初始化顺序探究