Sdílet prostřednictvím


Diagnostika nástrojů pro vývojáře v prohlížeči ASP.NET Core Blazor WebAssembly

Tento článek popisuje diagnostické nástroje vývojářských nástrojů prohlížeče v Blazor WebAssembly aplikacích.

Předpoklad

Nainstalujte nástroje sestavení .NET WebAssembly:

dotnet workload install wasm-tools

Vývojářské nástroje prohlížeče

Kód aplikace lze ručně profilovat pomocí diagnostického profileru v konzole vývojářských nástrojů prohlížeče.

Integrované diagnostické funkce jsou k dispozici ke sledování:

Vlastnosti NÁSTROJE MSBuild v následující tabulce umožňují integraci profileru.

Vlastnictví Výchozí Nastavit hodnotu na... Popis
<WasmProfilers> Žádná hodnota browser Mono profilátory, které se mají použít. Potenciální hodnoty jsou "browser" a "log". Pokud chcete použít obojí, oddělte hodnoty středníkem. Profiler browser umožňuje integraci s profilerem vývojářských nástrojů prohlížeče.
<WasmNativeStrip> true false Povolí odstranění nativního spustitelného souboru.
<WasmNativeDebugSymbols> true true Umožňuje sestavení pomocí nativních symbolů ladění.

Nastavení hlavičkyTiming-Allow-Origin HTTP umožňuje přesnější měření času.

Povolení profilátorů má negativní vliv na velikost a výkon, takže nepublikujte aplikaci pro produkční prostředí s povolenými profilátory. V následujícím příkladu je podmínka nastavená v části skupiny vlastností, která umožňuje profilaci pouze v případě, že je aplikace sestavená pomocí /p:BlazorSampleProfilingEnabled=true rozhraní příkazového řádku (.NET CLI) nebo <BlazorSampleProfilingEnabled>true</BlazorSampleProfilingEnabled> v profilu publikování sady Visual Studio, kde "BlazorSampleProfilingEnabled" je název vlastního symbolu, který zvolíte a není v konfliktu s jinými názvy symbolů.

V souboru projektu aplikace (.csproj):

<PropertyGroup Condition="'$(BlazorSampleProfilingEnabled)' == 'true'">
  <WasmProfilers>browser;</WasmProfilers>
  <WasmNativeStrip>false</WasmNativeStrip>
  <WasmNativeDebugSymbols>true</WasmNativeDebugSymbols>
  <!-- disable debugger -->
  <WasmDebugLevel>0</WasmDebugLevel>
</PropertyGroup>

Případně povolte funkce při vytváření aplikace pomocí rozhraní příkazového řádku .NET. Následující možnosti předané do příkazového dotnet build zrcadlí předchozí konfiguraci vlastností MSBuild:

/p:WasmProfilers=browser /p:WasmNativeStrip=false /p:WasmNativeDebugSymbols=true

Nastavení profilátorů <WasmProfilers> WebAssembly nevyžaduje kompilaci AOT (ahead-of-time).

Profiler nástrojů pro vývojáře prohlížeče je možné použít s profilerem AOT (<RunAOTCompilation>/<RunAOTCompilationAfterBuild> nastaveným na true) a bez profilátorů WebAssembly (<WasmProfilers> odebraných).

Pokud chcete zobrazit názvy metod AOT v konzole vývojářských nástrojů, nainstalujte rozšíření DWARF pro Chrome.

Nastavení intervalu vzorku

Nakonfigurujte ukázkový interval v souboru projektu aplikace. V následujícím příkladu {INTERVAL} představuje zástupný symbol čas v milisekundách. Výchozí nastavení, pokud sampleIntervalMs není zadané, je 10 ms.

<PropertyGroup>
  <WasmProfilers>browser:interval={INTERVAL};</WasmProfilers>
</PropertyGroup>

Specifikace volání (callspec)

Pokud chcete filtrovat profilované metody, použijte specifikaci volání (callspec).

Přidejte callspec s filtrem do WebAssembly profileru v browser elementu <WasmProfilers>.

<WasmProfilers>browser:callspec={FILTER};</WasmProfilers>

Přípustné hodnoty zástupných symbolů {FILTER} jsou uvedeny v následující tabulce.

Filtrovat Popis
all Všechna sestavení
program Sestavení vstupního bodu
{ASSEMBLY} Určuje sestavení ({ASSEMBLY})
M:Type:{METHOD} Určuje metodu ({METHOD})
N:{NAMESPACE} Určuje obor názvů ({NAMESPACE})
T:{TYPE} Určuje typ ({TYPE}).
+EXPR Obsahuje výraz
-EXPR Vyloučení výrazu

V následujícím příkladu se profilované metody filtrují do oboru názvů SampleApp aplikace a interval vzorkování je 50 ms.

<WasmProfilers>browser:callspec=N:SampleApp,interval=50</WasmProfilers>

Dodatečné zdroje