Dela via


ASP.NET Core Blazor WebAssembly webbläsarutvecklarverktyg diagnostik

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:

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