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基础镜像制作完毕。
它只能收集托管内存,不能用于条是本地代码的问题,而且分析它所创建的dump文件,必须和当前环境保持一致
它既可以收集本地信息又可以收集托管信息,是一种比较全面而且推荐的方法
虽然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文件里加上:
先将上面生成在tmp下的coredump文件copy到可以调试的地方
三角函数二倍角公式kubectl cp bookstore/demo-7b6d9f6d4f-2t8hl:/tmp/coredump.1 /root/mydump/coredump.1 -c app-k8s
然后为我们的coredump.1文件下载关联的symbol:
看到dac,dbi文件写入就代表成功了,这时候你的文件夹应该长这样
以上所述是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 条评论) |