Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Om felsökning eller observerbarhet inte räcker stöder .NET ytterligare diagnostikmekanismer.
Spårning med händelsekälla
Händelsekälla ger möjlighet att samla in detaljerad diagnostikinformation om vad som händer i .NET-processer. Den innehåller telemetriinformation för körning, GC, bibliotek och programkod.
Händelsekällans data kan samlas in i processen med hjälp av API:et System.Diagnostics.Tracing.EventListener eller med externa diagnostikverktyg som Visual Studio, dotnet-monitor, dotnet-trace, PerfView och Perfcollect-skripten. Användning av externa verktyg för att samla in händelsekällans data i spårningar används ofta för prestandaanalys.
EventPipe
EventPipe är en körningskomponent som kan användas för att samla in spårningsdata, som liknar ETW eller LTTng. Målet med EventPipe är att låta .NET-utvecklare enkelt spåra sina .NET-program utan att behöva förlita sig på plattformsspecifika, OS-inbyggda komponenter, till exempel ETW eller LTTng.
EventPipe är mekanismen bakom många av diagnostikverktygen. Den kan användas för att använda händelser som genereras av körningen samt anpassade händelser som skrivits med EventSource.
Dumpar
En dump är en fil som innehåller en ögonblicksbild av processen när dumpen skapas. Dumpar kan vara användbara för att undersöka tillståndet för ditt program i felsökningssyfte.
Symboler
Symboler är en mappning mellan källkoden och binärfilen som skapas av kompilatorn. Dessa används ofta av .NET-felsökningsprogram och spårningsverktyg för att matcha källradsnummer, lokala variabelnamn och andra typer av diagnostikinformation.
Diagnostikport
.NET-körningen exponerar en tjänstslutpunkt som gör att andra processer kan skicka diagnostikkommandon och ta emot svar via en IPC-kanal. Den här slutpunkten kallas för en diagnostikport. Kommandon kan skickas till diagnostikporten för att:
- Samla in en minnesdump.
- Starta en EventPipe-spårning.
- Begär den kommandorad som används för att starta appen.
DiagnosticSource och DiagnosticListener
DiagnosticSource är en modul som gör att kod kan instrumenteras för produktionstidsloggning av omfattande datanyttolaster för förbrukning i den process som instrumenterades. Vid körning kan konsumenter dynamiskt identifiera datakällor och prenumerera på de som är intressanta. System.Diagnostics.DiagnosticSource har utformats för att ge processverktyg åtkomst till omfattande data, till exempel av OpenTelemetry-instrumentationsbibliotek. DiagnosticSource-data kan också tas ut via EventPipe, vilket gör det möjligt att samla in omfattande diagnostikdata med dedikerade verktyg.
Samla in diagnostik i containrar
Samma diagnostikverktyg som används i icke-containerbaserade Linux-miljöer kan också användas för att samla in diagnostik i containrar. Det krävs bara några användningsändringar för att se till att verktygen fungerar i en Docker-container.