国产精品免费嫩草研究院|无遮羞动漫在线观看AV|国产麻豆精品传媒AV国产在线|村在线观看|寂寞情人1正版|韩国床震韩国床震古|精品系列专区久久

重新整理 .net core 實(shí)踐篇 ———— linux上排查問題實(shí)用工具 [外篇]

前言介紹下面幾個工具:
Lldbcreatedumpdotnet-dumpdotnet-gcdumpdotnet-symbolProcdump
該文的前置篇為:
https://www.cnblogs.com/aoximin/p/16839812.html
獻(xiàn)給初學(xué)者,這篇就只介紹下看下日志和lldb,畢竟東西太多了 。
正文我以官網(wǎng)的例子作為演示:https://buggyambfiles.blob.core.windows.net/bin/buggyamb_v1.1.zip
項目地址:https://github.com/ahmetmithat/buggyamb
我這里就已經(jīng)發(fā)布可以訪問了,并且用戶nginx 作為轉(zhuǎn)發(fā),已經(jīng)啟動起來了 。
步驟在前面兩篇,如果看需要發(fā)布的,可以往前面兩篇看看,這里就不多復(fù)述了 。
[Unit]Description=BuggyAmb[Service]WorkingDirectory=/var/buggyambExecStart=/usr/bin/dotnet /var/buggyamb/BuggyAmb.dllRestart=awaysRestartSec=10SyslogIdentifier=BuggyAmbUser=rootEnvironment=ASPNETCORE_ENVIRONMENT=DevelopmentEnvironment=DOTNET_PRINT_TELEMETRY_MESSAGE=falseEnvironment=ASPNETCORE_URLS=http://0.0.0.0:6000[Install]WantedBy=multi-user.targetservice 的配置如上 。
頁面測試如下:

重新整理 .net core 實(shí)踐篇 ———— linux上排查問題實(shí)用工具 [外篇]

文章插圖
里面分別是:
慢、處理異常、不處理異常、崩潰、未找到頁面、批處理
崩潰情況這種比較好排查的,其實(shí)一般看日志就行 。
我這里點(diǎn)一下Crash2,讓程序崩潰 。這里說明一下,上面我用的是官方例子,直接可以看代碼怎么崩潰的哈 。
public class Crash2Model : PageModel{ public string quote; ~Crash2Model() {if (quote.ToString() != string.Empty){quote = null;} } public void OnGet() { }}這個可以看下 。
那么我們進(jìn)行日志排查一下錯誤 。
journalctl -r --identifier=BuggyAmb --since "10 minute ago"
重新整理 .net core 實(shí)踐篇 ———— linux上排查問題實(shí)用工具 [外篇]

文章插圖

重新整理 .net core 實(shí)踐篇 ———— linux上排查問題實(shí)用工具 [外篇]

文章插圖
告訴我們15行錯誤 。
-r:按反向順序打印日志,以便首先列出最新日志 。--identifier:請記住 SyslogIdentifier=buggyamb-identifier 測試應(yīng)用程序的服務(wù)文件中的行 。(可以使用此方法強(qiáng)制日志僅顯示適用于有問題的應(yīng)用程序的條目 。)--since:顯示在指定的上一時期記錄的信息 。示例: --since "10 minute ago" 或 --since "2 hour ago".journalctl 還有很多其他的功能,這里就不一一舉例了 。
核心轉(zhuǎn)儲centos 默認(rèn)不開啟的:
可以看下這個怎么開啟的:
https://blog.csdn.net/ProgramVAE/article/details/105921381
#!/bin/bash#me: coredumpshell.sh### Description: enable coredump and format the name of core file on centos system# enable coredump whith unlimited file-size for all usersecho -e "\n# enable coredump whith unlimited file-size for all users\n* soft core unlimited" >> /etc/security/limits.conf# set the path of core file with permission 777cd /var/buggyamb && mkdir corefile && chmod 777 corefile# format the name of core file.# %% – 符號%# %p – 進(jìn)程號# %u – 進(jìn)程用戶id# %g – 進(jìn)程用戶組id# %s – 生成core文件時收到的信號# %t – 生成core文件的時間戳(seconds since 0:00h, 1 Jan 1970)# %h – 主機(jī)名# %e – 程序文件名echo -e "/var/buggyamb/corefile/core-%e-%s-%u-%g-%p-%t" > /proc/sys/kernel/core_pattern# for centos7 system(update 2017.2.3 21:44)echo -e "/var/buggyamb/corefile/core-%e-%s-%u-%g-%p-%t" > /etc/sysctl.conf# suffix of the core file nameecho -e "1" > /proc/sys/kernel/core_uses_pid運(yùn)行之后就開啟了 。
centos 一般用不上,我也沒有去調(diào)試過,這里就不演示了,只能說有這種東西 。
使用lldb安裝:yum install lldb
前文提及到這個要安裝lldb 3.9 以上的 。
按照這個文檔來編譯安裝也行:
https://github.com/dotnet/diagnostics/blob/main/documentation/lldb/linux-instructions.md

經(jīng)驗(yàn)總結(jié)擴(kuò)展閱讀