亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

正確使用dotnet-*工具的方法

 更新時(shí)間:2021年12月25日 17:05:56   作者:James陶  
這篇文章介紹了正確使用dotnet-*工具的方法,對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧

安裝

  • 因?yàn)槲覀儸F(xiàn)在都是容器化時(shí)代了,所以我們可以把這類工具全部制作成基礎(chǔ)鏡像
  • 準(zhǔn)備Dockerfile
FROM mcr.microsoft.com/dotnet/sdk:3.1 AS sdk
RUN dotnet tool install --tool-path /tools dotnet-trace
RUN dotnet tool install --tool-path /tools dotnet-counters
RUN dotnet tool install --tool-path /tools dotnet-dump
RUN dotnet tool install --tool-path /tools dotnet-gcdump

FROM mcr.microsoft.com/dotnet/core/aspnet:3.1 AS runtime
WORKDIR /tools
COPY --from=sdk /tools .

basedockerfile.yaml

驗(yàn)證

基礎(chǔ)鏡像做好了,查看下鏡像的大小應(yīng)該就比runtime的大小多幾十兆,相比為了使用dotnet-* tool而直接采用sdk的話,體積小了很多很多

用我們剛才制作的基礎(chǔ)鏡像隨便起個(gè)demo程序驗(yàn)證下

  • 已經(jīng)包含了tools文件夾了,里面存放了我們的tools工具

  • 以dotnet-trace為例,測(cè)試下是否可用(ps:注意使用方式)

至此包含tools的runtime基礎(chǔ)鏡像制作完畢。

dotnet-dump

它只能收集托管內(nèi)存,不能用于條是本地代碼的問(wèn)題,而且分析它所創(chuàng)建的dump文件,必須和當(dāng)前環(huán)境保持一致

createdump

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

雖然gdb、gcore也能起到同樣的作用,但是他們可能會(huì)在收集的時(shí)候錯(cuò)過(guò)一些托管狀態(tài),導(dǎo)致最后你分析dump文件的時(shí)候有”UNKNOWN“的錯(cuò)誤

這個(gè)工具是伴隨著.net core runtime安裝的,目錄一般在”/usr/share/dotnet/shared/Microsoft.NETCore.App/[version]“下

開(kāi)始使用:

  • /usr/share/dotnet/shared/Microsoft.NETCore.App/3.1.10/createdump -u 1 (1是我容器中程序的進(jìn)程id)

  • 他會(huì)將coredump文件生成到容器的tmp目錄下,至此沒(méi)報(bào)錯(cuò)的話,說(shuō)明成功
  • 如果報(bào)權(quán)限相關(guān)錯(cuò)誤,可以在你的yaml文件里加上:

分析coredump文件

先將上面生成在tmp下的coredump文件copy到可以調(diào)試的地方

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

然后為我們的coredump.1文件下載關(guān)聯(lián)的symbol:

如果你準(zhǔn)備分析dump的機(jī)器沒(méi)有dotnet sdk的話,先裝一個(gè)把
  • sudo rpm -Uvh https://packages.microsoft.com/config/centos/7/packages-microsoft-prod.rpm
  • sudo yum install dotnet-sdk-3.1
如果dotnet-symbol沒(méi)有安裝的話,安裝一個(gè)
  • dotnet tool install --global dotnet-symbol
  • 然后關(guān)閉當(dāng)前終端,再打開(kāi)一個(gè)新的
然后執(zhí)行dotnet-symbol --host-only --debugging coredump.1

  • 看到dac,dbi文件寫入就代表成功了,這時(shí)候你的文件夾應(yīng)該長(zhǎng)這樣

然后我們使用lldb進(jìn)行調(diào)試
  • 如果你機(jī)器里沒(méi)裝的話,先裝一個(gè)吧
  • 安裝sos插件:
    • dotnet tool install --global dotnet-sos
    • dotnet-sos install
  • lldb-8 --core coredump.1
  • 然后就可以用lldb來(lái)分析dump文件了

相關(guān)資料:

  1. https://docs.microsoft.com/en-us/dotnet/core/diagnostics/dotnet-symbol
  2. https://github.com/dotnet/diagnostics/blob/master/documentation/debugging-coredump.md
  3. https://devblogs.microsoft.com/devops/understanding-symbol-files-and-visual-studios-symbol-settings/
  4. https://github.com/dotnet/diagnostics/blob/master/documentation/FAQ.md
  5. https://github.com/dotnet/runtime/issues/11012
  6. 關(guān)于大對(duì)象使用的注意點(diǎn)以及官方blob gc的實(shí)現(xiàn)描述

以上所述是小編給大家介紹的正確使用dotnet-*工具的方法,希望對(duì)大家有所幫助。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!

相關(guān)文章

  • Asp.NET控制文件上傳的大小方法(超簡(jiǎn)單)

    Asp.NET控制文件上傳的大小方法(超簡(jiǎn)單)

    下面小編就為大家分享一篇Asp.NET控制文件上傳的大小方法(超簡(jiǎn)單),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2017-12-12
  • ASP.NET性能優(yōu)化之減少請(qǐng)求

    ASP.NET性能優(yōu)化之減少請(qǐng)求

    在上篇《ASP.NET性能優(yōu)化之讓瀏覽器緩存動(dòng)態(tài)網(wǎng)頁(yè)》中的方案中,瀏覽器發(fā)送If-Modified-Since將是否需要使用自己的緩存交給WEB服務(wù)器去決定,服務(wù)器告知瀏覽器去讀緩存,瀏覽器才會(huì)去讀緩存。
    2011-09-09
  • 獲取WebService的請(qǐng)求信息方法實(shí)例

    獲取WebService的請(qǐng)求信息方法實(shí)例

    下面小編就為大家分享一篇獲取WebService的請(qǐng)求信息方法實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2017-11-11
  • Asp.net之?dāng)?shù)據(jù)過(guò)濾淺析

    Asp.net之?dāng)?shù)據(jù)過(guò)濾淺析

    在B/S開(kāi)發(fā)中,安全性能應(yīng)該是需要注意的,很多年前有位高人說(shuō)過(guò),凡是來(lái)自客戶端的數(shù)據(jù),都是不可信的,今天開(kāi)發(fā)時(shí),把數(shù)據(jù)過(guò)濾的方法重寫了一下,所以忍不住想拿出來(lái)討論下,歡迎大家指點(diǎn)
    2011-11-11
  • asp.net下cookies操作完美代碼

    asp.net下cookies操作完美代碼

    asp.net下cookies操作完美代碼,需要的朋友可以參考下。
    2010-03-03
  • ASP.NET MVC中分部視圖的應(yīng)用方法

    ASP.NET MVC中分部視圖的應(yīng)用方法

    這篇文章主要給大家介紹了關(guān)于ASP.NET MVC中分部視圖的應(yīng)用方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2018-06-06
  • .Net?Core應(yīng)用增強(qiáng)型跨平臺(tái)串口類庫(kù)CustomSerialPort()詳解

    .Net?Core應(yīng)用增強(qiáng)型跨平臺(tái)串口類庫(kù)CustomSerialPort()詳解

    本文詳細(xì)講解了.Net?Core應(yīng)用增強(qiáng)型跨平臺(tái)串口類庫(kù)CustomSerialPort(),文中通過(guò)示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-01-01
  • 用 Asp.Net 建立一個(gè)在線 RSS 新聞聚合器的方法

    用 Asp.Net 建立一個(gè)在線 RSS 新聞聚合器的方法

    用 Asp.Net 建立一個(gè)在線 RSS 新聞聚合器的方法...
    2007-04-04
  • ASP.NET Mvc開(kāi)發(fā)之EF延遲加載

    ASP.NET Mvc開(kāi)發(fā)之EF延遲加載

    ASP.NET Mvc開(kāi)發(fā)之EF延遲加載,到底什么是EF的延遲加載呢?這篇文章我們就來(lái)看看
    2016-02-02
  • ASP.NET?MVC自定義操作過(guò)濾器

    ASP.NET?MVC自定義操作過(guò)濾器

    這篇文章介紹了ASP.NET?MVC自定義操作過(guò)濾器的方法,文中通過(guò)示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-03-03

最新評(píng)論