繁体   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