簡體   English   中英

使用 Linux 在 Azure App Service 上哪里可以找到 coredump?

[英]Where to find coredump on Azure App Service using Linux?

我正在使用托管在 linux 上的 Azure App Service 來使用 .Net Core 6.0 應用程序。

我有一個導致段錯誤的 null 指針錯誤,這反過來又導致應用程序服務中斷。 我遇到了一些導致段錯誤的錯誤,所以雖然我可以修復 null 指針,但我真的很想找出容器崩潰的原因。

我可以在AppServiceConsoleLogs中看到以下內容:

/opt/startup/startup.sh:第 17 行:65 分段錯誤(核心已轉儲)do.net xxx.dll

我希望如果我能找到轉儲的核心,我可能會找出分段錯誤。

我通過進入 SSH 控制台查看了文件夾,但我找不到任何看起來像 memory 轉儲的東西。

使用 Linux 在 Azure App Service 上哪里可以找到 coredump?

我已經將 .NET Core 6 App 部署到 Azure App 服務。

  • 導航到Azure portal => 您Deployed App Service => Advanced Tools => Go

  • 單擊Site wwwroot

在此處輸入圖像描述

  • 部署的文件會編譯成dll files

點擊文件,可以看到內容。

在此處輸入圖像描述

  • 我們也可以查看Bash中的文件。
  • Bash ,導航到應用程序根目錄並運行ls ,您可以看到部署的文件。

在此處輸入圖像描述

  • Configuration部分 => General Settings ,檢查啟動命令。
  • 它一定要是
dotnet YourAppName.dll
  • 確保dllBashSSH中可用。

在此處輸入圖像描述

更新:

我們可以在LogFiles/core文件夾中找到核心轉儲。 但最初,它是禁用的。 要啟用它,我們需要在部署的應用程序服務的啟動中添加以下命令。

ulimit -c unlimited

感謝@Sourabh Edake的命令。

在此處輸入圖像描述

  • 重新啟動應用程序。 每當出現異常時,將在提到的LogFiles/core文件夾中創建核心轉儲。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM