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.
I den här artikeln beskrivs diagnostikverktyg för webbläsarutvecklare i Blazor WebAssembly appar.
Förutsättning
Installera byggverktygen för .NET WebAssembly:
dotnet workload install wasm-tools
Utvecklarverktyg för webbläsare
Appkod kan profileras manuellt med hjälp av diagnostikprofiler i en webbläsares konsol för utvecklingsverktyg.
Inbyggda diagnostikfunktioner är tillgängliga för att spåra:
- Förkompilering (AOT, ahead-of-time)
- Samtalsspecifikation ("callspec", sekvens och tidsinställning för funktionsanrop) och instrumentation
MSBuild-egenskaperna i följande tabell aktiverar profileringsintegrering.
| Fastighet | Förinställning | Ange värdet till... | Beskrivning |
|---|---|---|---|
<WasmProfilers> |
Inget värde | browser |
Profiler för Mono att använda. Potentiella värden är "browser" och "log". Om du vill använda båda separerar du värdena med ett semikolon. Profileraren browser möjliggör integrering med webbläsarens profilerare för utvecklarverktyg. |
<WasmNativeStrip> |
true |
false |
Aktiverar borttagning av den ursprungliga körbara filen. |
<WasmNativeDebugSymbols> |
true |
true |
Aktiverar skapande med inbyggda felsökningssymboler. |
Om du ställer in HTTP-huvudet kan du göra mer exakta tidsmätningar.Timing-Allow-Origin
Aktivering av profilerare har negativa effekter på storlek och prestanda, så publicera inte en app i produktionsmiljö med profilerare aktiverade. I följande exempel anges ett villkor i ett egenskapsgruppsavsnitt som endast aktiverar profilering när appen skapas med /p:BlazorSampleProfilingEnabled=true (.NET CLI) eller <BlazorSampleProfilingEnabled>true</BlazorSampleProfilingEnabled> i en Visual Studio-publiceringsprofil, där "BlazorSampleProfilingEnabled" är ett anpassat symbolnamn som du väljer och inte står i konflikt med andra symbolnamn.
I appens projektfil (.csproj):
<PropertyGroup Condition="'$(BlazorSampleProfilingEnabled)' == 'true'">
<WasmProfilers>browser;</WasmProfilers>
<WasmNativeStrip>false</WasmNativeStrip>
<WasmNativeDebugSymbols>true</WasmNativeDebugSymbols>
<!-- disable debugger -->
<WasmDebugLevel>0</WasmDebugLevel>
</PropertyGroup>
Du kan också aktivera funktioner när appen skapas med .NET CLI. Följande alternativ som skickas till dotnet build kommandot speglar den föregående MSBuild-egenskapskonfigurationen:
/p:WasmProfilers=browser /p:WasmNativeStrip=false /p:WasmNativeDebugSymbols=true
Att ange WebAssembly-profilerare med <WasmProfilers> kräver inte AOT-kompilering (i förväg).
Webbläsarutvecklarverktygens profiler kan användas med AOT (<RunAOTCompilation>/<RunAOTCompilationAfterBuild> inställt på true) och utan WebAssembly-profilerare (<WasmProfilers> borttagits).
Om du vill se AOT-metodnamn i utvecklarverktygskonsolen installerar du DWARF Chrome-tillägget.
Ange exempelintervallet
Konfigurera exempelintervallet i appens projektfil. I följande exempel {INTERVAL} representerar platshållaren tiden i millisekunder. Standardinställningen om sampleIntervalMs inte har angetts är 10 ms.
<PropertyGroup>
<WasmProfilers>browser:interval={INTERVAL};</WasmProfilers>
</PropertyGroup>
Samtalsspecifikation (callspec)
Om du vill filtrera profilerade metoder använder du anropsspecifikationen (callspec).
Lägg till callspec med ett filter i browser WebAssembly-profileraren i elementet <WasmProfilers> :
<WasmProfilers>browser:callspec={FILTER};</WasmProfilers>
Tillåtna {FILTER} platshållarvärden visas i följande tabell.
| Filtrera | Beskrivning |
|---|---|
all |
Alla sammansättningar |
program |
Startpunktssammansättning |
{ASSEMBLY} |
Anger en sammansättning ({ASSEMBLY}) |
M:Type:{METHOD} |
Anger en metod ({METHOD}) |
N:{NAMESPACE} |
Anger ett namnområde ({NAMESPACE}) |
T:{TYPE} |
Anger en typ ({TYPE}) |
+EXPR |
Inkluderar uttryck |
-EXPR |
Utesluter uttryck |
I följande exempel filtreras profilerade metoder till appens namnområde SampleApp och samplingsintervallet är 50 ms.
<WasmProfilers>browser:callspec=N:SampleApp,interval=50</WasmProfilers>
Ytterligare resurser
ASP.NET Core