Aktivera felsökningsprogram för ögonblicksbilder för .NET- och .NET Core-appar i Azure Functions

Snapshot Debugger fungerar för närvarande för ASP.NET och ASP.NET Core-appar som körs i Azure Functions i Windows-tjänstplaner.

Vi rekommenderar att du kör ditt program på basic- eller högre tjänstnivåer när du använder Snapshot Debugger. För de flesta program:

  • Nivåerna Kostnadsfri och Delad tjänst har inte tillräckligt med minne eller diskutrymme för att spara ögonblicksbilder.
  • Förbrukningsnivån är för närvarande inte tillgänglig för Felsökning av ögonblicksbilder.

Felsökningsprogrammet för ögonblicksbilder är förinstallerat som en del av Azure Functions-körningen, så du behöver inte lägga till extra NuGet-paket eller programinställningar.

Förutsättningar

Aktivera Application Insights-övervakning i din Functions-app.

Aktivera felsökningsprogram för ögonblicksbilder

Om du vill aktivera Felsökning av ögonblicksbilder i functions-appen lägger du till egenskapen i snapshotConfiguration din host.json-fil och distribuerar om funktionen. Till exempel:

{
  "version": "2.0",
  "logging": {
    "applicationInsights": {
      "snapshotConfiguration": {
        "isEnabled": true
      }
    }
  }
}

Generera trafik till ditt program som kan utlösa ett undantag. Vänta sedan 10 till 15 minuter innan ögonblicksbilder skickas till Application Insights-instansen.

Du kan kontrollera att felsökningsprogrammet för ögonblicksbilder har aktiverats genom att kontrollera .NET-funktionsappfilerna. I följande enkla .NET-funktionsapp .csprojvisar till exempel , {Your}Function.csoch host.json i .NET-programmet Snapshot Debugger som aktiverat:

Project.csproj

<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
    <TargetFramework>netcoreapp2.1</TargetFramework>
    <AzureFunctionsVersion>v2</AzureFunctionsVersion>
</PropertyGroup>
<ItemGroup>
    <PackageReference Include="Microsoft.NET.Sdk.Functions" Version="1.0.31" />
</ItemGroup>
<ItemGroup>
    <None Update="host.json">
    <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
    </None>
    <None Update="local.settings.json">
    <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
    <CopyToPublishDirectory>Never</CopyToPublishDirectory>
    </None>
</ItemGroup>
</Project>

{Your}Function.cs

using System;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Mvc;
using Microsoft.Azure.WebJobs;
using Microsoft.Azure.WebJobs.Extensions.Http;
using Microsoft.AspNetCore.Http;
using Microsoft.Extensions.Logging;

namespace SnapshotCollectorAzureFunction
{
    public static class ExceptionFunction
    {
        [FunctionName("ExceptionFunction")]
        public static Task<IActionResult> Run(
            [HttpTrigger(AuthorizationLevel.Function, "get", Route = null)] HttpRequest req,
            ILogger log)
        {
            log.LogInformation("C# HTTP trigger function processed a request.");

            throw new NotImplementedException("Dummy");
        }
    }
}

Host.json

{
  "version": "2.0",
  "logging": {
    "applicationInsights": {
      "samplingExcludedTypes": "Request",
      "samplingSettings": {
        "isEnabled": true
      },
      "snapshotConfiguration": {
        "isEnabled": true
      }
    }
  }
}

Aktivera felsökningsprogram för ögonblicksbilder för andra moln

För närvarande är de enda regioner som kräver slutpunktsändringar Azure Government och Microsoft Azure som drivs av 21Vianet.

I följande exempel visas den host.json uppdaterade med US Government Cloud-agentens slutpunkt:

{
  "version": "2.0",
  "logging": {
    "applicationInsights": {
      "samplingExcludedTypes": "Request",
      "samplingSettings": {
        "isEnabled": true
      },
      "snapshotConfiguration": {
        "isEnabled": true,
        "agentEndpoint": "https://snapshot.monitor.azure.us"
      }
    }
  }
}

Här är de åsidosättningar som stöds av agentslutpunkten för snapshot debugger:

Property US Government Cloud Kina, moln
AgentEndpoint https://snapshot.monitor.azure.us https://snapshot.monitor.azure.cn

Inaktivera felsökningsprogram för ögonblicksbilder

Om du vill inaktivera Felsökning av ögonblicksbilder i functions-appen uppdaterar du host.json filen genom att ange snapshotConfiguration.isEnabled egenskapen till false.

{
  "version": "2.0",
  "logging": {
    "applicationInsights": {
      "snapshotConfiguration": {
        "isEnabled": false
      }
    }
  }
}

Nästa steg