首页 > 作文

正确使用dotnet

更新时间:2023-04-04 07:16:21 阅读: 评论:0

安装

因为我们现在都是容器化时代了,所以我们可以把这类工具全部制作成基础镜像准备dockerfile
from mcr.microsoft.com/dotnet/sdk:3.1 as sdkrun dotnet tool install --tool-path /tools dotnet-tracerun dotnet tool install --tool-path /tools dotnet-countersrun dotnet tool install --tool-path /tools dotnet-dumprun dotnet tool install --tool-path /tools dotnet-gcdumpfrom mcr.microsoft.com/dotnet/core/aspnet:3.1 as runtimeworkdir /toolscopy --from=sdk /tools .badockerfile.yaml

验证

基础镜像做好了,查看下镜像的大小应该就比runtime的大小多几十兆,相比为了使用dotnet-* tool而直接采用sdk的话,体积小了很多很多

用我们刚才制作的基础镜像随便起个demo程序验证下

已经包含了tools文件夹了,里面存放了我们的tools工具

以dotnet-trace为例,测试下是否可用(ps:注意使用方式)

至此包含tools的runtime基础镜像制作完毕。

dotnet-dump

它只能收集托管内存,不能用于条是本地代码的问题,而且分析它所创建的dump文件,必须和当前环境保持一致

createdump

它既可以收集本地信息又可以收集托管信息,是一种比较全面而且推荐的方法

虽然gdb、gcore也能起到同样的作用,但是冰心成功的花他们可能会在收集的时候错过一些托管状态,导致最后你分析dump文件的时候有”unknown“的错误

这个工具是伴随着.net core runtime安装的,目录一般在”/usr/share/dotnet/shared/micros什么叫资源管理器oft.netcore.app/[version]“下

开始使用:

/usr/share/dotnet/shared/microsoft.netcore.app/3.1.10/createdump -u 1 (1是我容器中程序的进程id)

他会将coredump文件生成到容器的tmp目录下,至此没报错的话,说明成功如果报权限相关错误,可以在你的yaml文件里加上:

分析coredump文件

先将上面生成在tmp下的coredump文件copy到可以调试的地方

三角函数二倍角公式

kubectl cp bookstore/demo-7b6d9f6d4f-2t8hl:/tmp/coredump.1 /root/mydump/coredump.1 -c app-k8s

然后为我们的coredump.1文件下载关联的symbol:

如果你准备分析dump的机器没有dotnet sdk的话,先装一个把
sudo rpm -uvh https://packages.microsoft.com/config/centos/7/packages-microsoft-prod.rpmsudo yum install dotnet-sdk-3.1
如果dotnet-symbol没有安装的话,安装一个
dotnet tool install 当前经济发展形势211;global dotnet-symbol然后关闭当前终端,再打开一个新的
然后执行dotnet-symbol –host-only –debugging coredump.1

看到dac,dbi文件写入就代表成功了,这时候你的文件夹应该长这样

然后我们使用lldb进行调试
如果你机器里没装的话,先装一个吧安装sos插件:dotnet tool install –global dotnet-sosdotnet-sos installlldb-8 –core coredump.1然后就可以用lldb来分析dump文件了

相关资料:

https://docs.microsoft.com/en-us/dotnet/core/diagnostics/dotnet-symbolhttps://github.co热血传奇行会名字m/dotnet/diagnostics/blob/master/documentation/debugging-coredump.mdhttps://devblogs.microsoft.com/devops/understanding-symbol-files-and-visual-studios-symbol-ttings/https://github.com/dotnet/diagnostics/blob/master/documentation/faq.mdhttps://github.com/dotnet/runtime/issues/11012关于大对象使用的注意点以及官方blob gc的实现描述

以上所述是www.887551.com给大家介绍的正确使用dotnet-*工具的方法,希望对大家有所帮助。在此也非常感谢大家对www.887551.com网站的支持!

本文发布于:2023-04-04 07:16:17,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/zuowen/bccf6e44f8db3f45c055a8eb550cbe99.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

本文word下载地址:正确使用dotnet.doc

本文 PDF 下载地址:正确使用dotnet.pdf

标签:文件   镜像   如果你   基础
相关文章
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图