Men-debug aplikasi ASP.NET Core
Catatan
Ini bukan versi terbaru dari artikel ini. Untuk rilis saat ini, lihat versi .NET 8 dari artikel ini.
Peringatan
Versi ASP.NET Core ini tidak lagi didukung. Untuk informasi selengkapnya, lihat Kebijakan Dukungan .NET dan .NET Core. Untuk rilis saat ini, lihat versi .NET 8 dari artikel ini.
Penting
Informasi ini berkaitan dengan produk pra-rilis yang mungkin dimodifikasi secara substansial sebelum dirilis secara komersial. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Untuk rilis saat ini, lihat versi .NET 8 dari artikel ini.
Artikel ini menjelaskan cara men-debug Blazor aplikasi, termasuk men-debug Blazor WebAssembly aplikasi dengan alat pengembang browser atau lingkungan pengembangan terintegrasi (IDE).
Blazor Web Apps dapat di-debug di Visual Studio atau Visual Studio Code.
Blazor WebAssembly aplikasi dapat di-debug:
- Di Visual Studio atau Visual Studio Code.
- Menggunakan alat pengembang browser di browser berbasis Chromium, termasuk Microsoft Edge, Google Chrome, dan Firefox.
Skenario yang tersedia untuk Blazor WebAssembly penelusuran kesalahan meliputi:
- Atur dan hapus titik henti.
- Jalankan aplikasi dengan dukungan penelusuran kesalahan di IDEs.
- Satu langkah melalui kode.
- Lanjutkan eksekusi kode dengan pintasan keyboard di IDEs.
- Di jendela Lokal , amati nilai variabel lokal.
- Lihat tumpukan panggilan, termasuk rantai panggilan antara JavaScript dan .NET.
- Gunakan server simbol untuk penelusuran kesalahan, dikonfigurasi oleh preferensi Visual Studio.
Skenario yang tidak didukung meliputi:
- Debug dalam skenario non-lokal (misalnya, Subsistem Windows untuk Linux (WSL) atau Visual Studio Codespaces).
- Debug di Firefox dari Visual Studio atau Visual Studio Code.
Blazor Server aplikasi dapat di-debug di Visual Studio atau Visual Studio Code.
Blazor WebAssembly aplikasi dapat di-debug:
- Di Visual Studio atau Visual Studio Code.
- Menggunakan alat pengembang browser di browser berbasis Chromium, termasuk Microsoft Edge dan Google Chrome.
Skenario yang tidak didukung untuk Blazor WebAssembly aplikasi meliputi:
- Atur dan hapus titik henti.
- Jalankan aplikasi dengan dukungan penelusuran kesalahan di IDEs.
- Satu langkah melalui kode.
- Lanjutkan eksekusi kode dengan pintasan keyboard di IDEs.
- Di jendela Lokal , amati nilai variabel lokal.
- Lihat tumpukan panggilan, termasuk rantai panggilan antara JavaScript dan .NET.
- Debug dalam skenario non-lokal (misalnya, Subsistem Windows untuk Linux (WSL) atau Visual Studio Codespaces).
- Gunakan server simbol untuk penelusuran kesalahan.
Blazor Server aplikasi dapat di-debug di Visual Studio atau Visual Studio Code.
Blazor WebAssembly aplikasi dapat di-debug:
- Di Visual Studio atau Visual Studio Code.
- Menggunakan alat pengembang browser di browser berbasis Chromium, termasuk Microsoft Edge dan Google Chrome.
Skenario yang tidak didukung untuk Blazor WebAssembly aplikasi meliputi:
- Atur dan hapus titik henti.
- Jalankan aplikasi dengan dukungan penelusuran kesalahan di IDEs.
- Satu langkah melalui kode.
- Lanjutkan eksekusi kode dengan pintasan keyboard di IDEs.
- Di jendela Lokal , amati nilai variabel lokal.
- Lihat tumpukan panggilan, termasuk rantai panggilan antara JavaScript dan .NET.
- Tekan titik henti selama pengaktifan aplikasi sebelum proksi debug berjalan. Ini termasuk titik henti dalam
Program
file dan titik henti dalamOnInitialized{Async}
metode siklus hidup komponen yang dimuat oleh halaman pertama yang diminta dari aplikasi. - Debug dalam skenario non-lokal (misalnya, Subsistem Windows untuk Linux (WSL) atau Visual Studio Codespaces).
- Gunakan server simbol untuk penelusuran kesalahan.
Prasyarat
Bagian ini menjelaskan prasyarat untuk penelusuran kesalahan.
Prasyarat browser
Versi terbaru browser berikut:
- Google Chrome
- Microsoft Edge
- Firefox (hanya alat pengembang browser)
Penelusuran kesalahan memerlukan versi terbaru browser berikut:
- Google Chrome (default)
- Microsoft Edge
Pastikan firewall atau proksi tidak memblokir komunikasi dengan proksi debug (NodeJS
proses). Untuk informasi selengkapnya, lihat bagian Konfigurasi firewall.
Catatan
Apple Safari di macOS saat ini tidak didukung.
Prasyarat IDE
Versi terbaru Visual Studio atau Visual Studio Code diperlukan.
Prasyarat Visual Studio Code
Visual Studio Code memerlukan C# Dev Kit untuk Visual Studio Code (Memulai C# di VISUAL Code). Di Marketplace Ekstensi Visual Studio Code, filter daftar ekstensi dengan "c# dev kit
" untuk menemukan ekstensi:
Menginstal C# Dev Kit secara otomatis menginstal ekstensi tambahan berikut:
Jika Anda mengalami peringatan atau kesalahan, Anda dapat membuka masalah (microsoft/vscode-dotnettools
repositori GitHub) yang menjelaskan masalah tersebut.
Prasyarat konfigurasi aplikasi
Panduan dalam sub bagian ini berlaku untuk penelusuran kesalahan sisi klien.
Properties/launchSettings.json
Buka file proyek startup. Konfirmasikan keberadaan properti berikut inspectUri
di setiap profil peluncuran simpul profiles
file. Jika properti berikut tidak ada, tambahkan ke setiap profil:
"inspectUri": "{wsProtocol}://{url.hostname}:{url.port}/_framework/debug/ws-proxy?browser={browserInspectUri}"
Properti inspectUri
:
- Memungkinkan IDE mendeteksi bahwa aplikasi adalah aplikasi Blazor .
- Menginstruksikan infrastruktur penelusuran kesalahan skrip untuk terhubung ke browser melalui Blazorproksi debugging.
Nilai tempat penampung untuk protokol WebSocket (wsProtocol
), host (url.hostname
), port (url.port
), dan URI inspektur pada browser yang diluncurkan (browserInspectUri
) disediakan oleh kerangka kerja.
Paket
Blazor Web Apps: Microsoft.AspNetCore.Components.WebAssembly.Server
: Mereferensikan paket internal (Microsoft.NETCore.BrowserDebugHost.Transport
) untuk rakitan yang berbagi host debug browser.
Blazor Server: Microsoft.AspNetCore.Components.WebAssembly.Server
: Mereferensikan paket internal (Microsoft.NETCore.BrowserDebugHost.Transport
) untuk rakitan yang berbagi host debug browser.
Blazor WebAssemblyMandiri : Microsoft.AspNetCore.Components.WebAssembly.DevServer
: Server pengembangan untuk digunakan saat membangun Blazor aplikasi. UseWebAssemblyDebugging Memanggil secara internal untuk menambahkan middleware untuk men-debug Blazor WebAssembly aplikasi di dalam alat pengembang Chromium.
Dihosting Blazor WebAssembly:
- Client project:
Microsoft.AspNetCore.Components.WebAssembly.DevServer
: Server pengembangan untuk digunakan saat membangun Blazor aplikasi. UseWebAssemblyDebugging Memanggil secara internal untuk menambahkan middleware untuk men-debug Blazor WebAssembly aplikasi di dalam alat pengembang Chromium. - Server project:
Microsoft.AspNetCore.Components.WebAssembly.Server
: Mereferensikan paket internal (Microsoft.NETCore.BrowserDebugHost.Transport
) untuk rakitan yang berbagi host debug browser.
Catatan
Untuk panduan tentang menambahkan paket ke aplikasi .NET, lihat artikel di bagian Menginstal dan mengelola paket di Alur kerja konsumsi paket (dokumentasi NuGet). Konfirmasikan versi paket yang benar di NuGet.org.
Men-debug Blazor Web App di IDE
Contoh di bagian ini mengasumsikan bahwa Anda telah membuat Blazor Web App dengan mode render interaktif Auto (Server dan WebAssembly) dan lokasi interaktivitas per komponen.
- Buka aplikasi.
- Atur
currentCount++;
titik henti pada baris dalamCounter
komponen (Pages/Counter.razor
) proyek klien (.Client
). - Dengan proyek server yang dipilih di Penjelajah Solusi, tekan F5 untuk menjalankan aplikasi di debugger.
- Di browser, navigasikan ke
Counter
halaman di/counter
. Tunggu beberapa detik agar proksi debug dimuat dan dijalankan. Pilih tombol Klik saya untuk menekan titik henti. - Di Visual Studio, periksa nilai
currentCount
bidang di jendela Lokal . - Tekan F5 untuk melanjutkan eksekusi.
Titik henti juga dapat ditemui dalam proyek server dalam komponen sisi server yang dirender secara statis dan interaktif.
- Hentikan debugger.
- Di aplikasi server, buka komponen yang dirender
Weather
secara statis (Components/Pages/Weather.razor
) dan atur titik henti di mana saja dalamOnInitializedAsync
metode . - Tekan F5 untuk menjalankan aplikasi di debugger.
- Di browser, navigasikan ke
Weather
halaman di/weather
. Tunggu beberapa detik agar proksi debug dimuat dan dijalankan. Eksekusi aplikasi berhenti di titik henti. - Tekan F5 untuk melanjutkan eksekusi.
Titik henti tidak terpukul selama pengaktifan aplikasi sebelum proksi debug berjalan. Ini termasuk titik henti dalam Program
file dan titik henti dalam OnInitialized{Async}
metode siklus hidup komponen yang dimuat oleh halaman pertama yang diminta dari aplikasi.
Men-debug Blazor Server aplikasi di IDE
- Buka aplikasi.
- Atur
currentCount++;
titik henti pada baris dalamCounter
komponen (Pages/Counter.razor
). - Tekan F5 untuk menjalankan aplikasi di debugger.
- Di browser, navigasikan ke
Counter
halaman di/counter
. Tunggu beberapa detik agar proksi debug dimuat dan dijalankan. Pilih tombol Klik saya untuk menekan titik henti. - Di Visual Studio, periksa nilai
currentCount
bidang di jendela Lokal . - Tekan F5 untuk melanjutkan eksekusi.
Titik henti tidak terpukul selama pengaktifan aplikasi sebelum proksi debug berjalan. Ini termasuk titik henti dalam Program
file dan titik henti dalam OnInitialized{Async}
metode siklus hidup komponen yang dimuat oleh halaman pertama yang diminta dari aplikasi.
Men-debug Blazor WebAssembly aplikasi di IDE
- Buka aplikasi.
- Atur
currentCount++;
titik henti pada baris dalamCounter
komponen (Pages/Counter.razor
). - Tekan F5 untuk menjalankan aplikasi di debugger.
- Di browser, navigasikan ke
Counter
halaman di/counter
. Tunggu beberapa detik agar proksi debug dimuat dan dijalankan. Pilih tombol Klik saya untuk menekan titik henti. - Di Visual Studio, periksa nilai
currentCount
bidang di jendela Lokal . - Tekan F5 untuk melanjutkan eksekusi.
Titik henti tidak terpukul selama pengaktifan aplikasi sebelum proksi debug berjalan. Ini termasuk titik henti dalam Program
file dan titik henti dalam OnInitialized{Async}
metode siklus hidup komponen yang dimuat oleh halaman pertama yang diminta dari aplikasi.
Men-debug aplikasi yang dihosting Blazor WebAssembly di IDE
Server Dengan proyek yang dipilih di Penjelajah Solusi, tekan F5 untuk menjalankan aplikasi di debugger.
Saat menelusuri kesalahan dengan browser berbasis Chromium, seperti Google Chrome atau Microsoft Edge, jendela browser baru mungkin terbuka dengan profil terpisah untuk sesi penelusuran kesalahan alih-alih membuka tab di jendela browser yang ada dengan profil pengguna. Jika penelusuran kesalahan dengan profil pengguna adalah persyaratan, adopsi salah satu pendekatan berikut:
- Tutup semua instans browser yang terbuka sebelum menekan F5 untuk memulai penelusuran kesalahan.
- Konfigurasikan Visual Studio untuk meluncurkan browser dengan profil pengguna. Untuk informasi selengkapnya tentang pendekatan ini, lihat Blazor WASM Debugging di VS meluncurkan Edge dengan direktori data pengguna terpisah (dotnet/aspnetcore #20915).
Client Dalam proyek, atur titik henti pada
currentCount++;
baris dalamCounter
komponen (Pages/Counter.razor
).Di browser, navigasikan ke
Counter
halaman di/counter
. Tunggu beberapa detik agar proksi debug dimuat dan dijalankan. Pilih tombol Klik saya untuk menekan titik henti.Di Visual Studio, periksa nilai
currentCount
bidang di jendela Lokal .Tekan F5 untuk melanjutkan eksekusi.
Anda juga dapat men-debug kode server dalam Server proyek:
- Atur titik henti di
Pages/FetchData.razor
halaman di OnInitializedAsync. - Atur titik henti
WeatherForecastController
dalamGet
metode tindakan. - Telusuri ke
Fetch Data
halaman untuk mencapai titik henti pertama diFetchData
komponen tepat sebelum mengeluarkan permintaan HTTP ke server. - Tekan F5 untuk melanjutkan eksekusi lalu tekan titik henti pada server di
WeatherForecastController
. - Tekan F5 lagi untuk membiarkan eksekusi berlanjut dan lihat tabel prakiraan cuaca yang dirender di browser.
Titik henti tidak terpukul selama pengaktifan aplikasi sebelum proksi debug berjalan. Ini termasuk titik henti dalam Program
file dan titik henti dalam OnInitialized{Async}
metode siklus hidup komponen yang dimuat oleh halaman pertama yang diminta dari aplikasi.
Mulai Tanpa Debugging [Ctrl+F5 (Windows) atau ⌘+F5 (macOS)] tidak didukung. Saat aplikasi dijalankan dalam konfigurasi Debug, debugging overhead selalu menghasilkan pengurangan performa kecil.
Lampirkan ke sesi penelusuran kesalahan Visual Studio Code yang sudah ada
Untuk melampirkan ke aplikasi yang sedang berjalan Blazor , buka .vscode/launch.json
file dan ganti {URL}
tempat penampung dengan URL tempat aplikasi berjalan:
{
"name": "Attach and Debug",
"type": "blazorwasm",
"request": "attach",
"url": "{URL}"
}
Opsi peluncuran Visual Studio Code
Opsi konfigurasi peluncuran dalam tabel berikut didukung untuk blazorwasm
jenis debug (.vscode/launch.json
).
Opsi | Deskripsi |
---|---|
browser |
Browser yang akan diluncurkan untuk sesi penelusuran kesalahan. Atur ke edge atau chrome . Default ke edge . |
cwd |
Direktori kerja untuk meluncurkan aplikasi di bawah. |
request |
Gunakan launch untuk meluncurkan dan melampirkan sesi penelusuran kesalahan ke Blazor WebAssembly aplikasi atau attach untuk melampirkan sesi penelusuran kesalahan ke aplikasi yang sudah berjalan. |
timeout |
Jumlah milidetik untuk menunggu sesi debugging dilampirkan. Default ke 30.000 milidetik (30 detik). |
trace |
Digunakan untuk menghasilkan log dari JS debugger. Atur ke true untuk menghasilkan log. |
url |
URL yang akan dibuka di browser saat men-debug. |
webRoot |
Menentukan jalur absolut server web. Harus diatur jika aplikasi dilayani dari sub-rute. |
Opsi tambahan dalam tabel berikut ini hanya berlaku untuk aplikasi yang dihostingBlazor WebAssembly.
Opsi | Deskripsi |
---|---|
env |
Variabel lingkungan yang akan disediakan untuk proses yang diluncurkan. Hanya berlaku jika hosted diatur ke true . |
hosted |
Harus diatur ke true jika meluncurkan dan men-debug aplikasi yang dihosting Blazor WebAssembly . |
program |
Referensi ke executable untuk menjalankan server aplikasi yang dihosting. Harus diatur jika hosted adalah true . |
Debug Blazor WebAssembly dengan Google Chrome atau Microsoft Edge
Panduan di bagian ini menerapkan aplikasi penelusuran kesalahan Blazor WebAssembly di:
- Google Chrome berjalan di Windows atau macOS.
- *Microsoft Edge berjalan di Windows.
Jalankan aplikasi di shell perintah dengan
dotnet watch
(ataudotnet run
).Luncurkan browser dan navigasikan ke URL aplikasi.
Mulai penelusuran kesalahan jarak jauh dengan menekan:
- Shift+Alt+d di Windows.
- Shift+⌘+d di macOS.
Browser harus berjalan dengan penelusuran kesalahan jarak jauh diaktifkan, yang bukan default. Jika penelusuran kesalahan jarak jauh dinonaktifkan, halaman kesalahan tab browser yang tidak dapat di-debug dirender dengan instruksi untuk meluncurkan browser dengan port debugging terbuka. Ikuti instruksi untuk browser Anda.
Setelah mengikuti instruksi untuk mengaktifkan penelusuran kesalahan jarak jauh, aplikasi akan terbuka di jendela browser baru. Mulai penelusuran kesalahan jarak jauh dengan menekan kombinasi HotKey di jendela browser baru:
- Shift+Alt+d di Windows.
- Shift+⌘+d di macOS.
Tab browser alat pengembang jendela baru terbuka memperlihatkan gambar aplikasi yang dihantui.
Catatan
Jika Anda mengikuti instruksi untuk membuka tab browser baru dengan penelusuran kesalahan jarak jauh diaktifkan, Anda dapat menutup jendela browser asli, membiarkan jendela kedua terbuka dengan tab pertama yang menjalankan aplikasi dan tab kedua yang menjalankan debugger.
Setelah beberapa saat, tab Sumber menampilkan daftar rakitan dan halaman .NET aplikasi.
Buka
file://
nodenya. Dalam kode komponen (.razor
file) dan file kode C# (.cs
), titik henti yang Anda tetapkan terpukul saat kode dijalankan di tab browser aplikasi (tab awal dibuka setelah memulai penelusuran kesalahan jarak jauh). Setelah titik henti tertembak, langkah tunggal (F10) melalui kode atau melanjutkan (F8) eksekusi kode secara normal di tab debugging.
Untuk penelusuran kesalahan browser berbasis Chromium, Blazor menyediakan proksi penelusuran kesalahan yang mengimplementasikan Protokol Chrome DevTools dan menambah protokol dengan . Informasi khusus NET. Saat penelusuran kesalahan pintasan keyboard ditekan, Blazor arahkan ke Chrome DevTools di proksi. Proksi terhubung ke jendela browser yang ingin Anda debug (karenanya perlu mengaktifkan penelusuran kesalahan jarak jauh).
Men-debug Blazor WebAssembly aplikasi dengan Firefox
Panduan di bagian ini menerapkan aplikasi penelusuran kesalahan Blazor WebAssembly di Firefox yang berjalan di Windows.
Men-debug Blazor WebAssembly aplikasi dengan Firefox memerlukan konfigurasi browser untuk penelusuran kesalahan jarak jauh dan menyambungkan ke browser menggunakan alat pengembang browser melalui proksi debugging .NET WebAssembly.
Catatan
Penelusuran kesalahan di Firefox dari Visual Studio saat ini tidak didukung.
Untuk men-debug Blazor WebAssembly aplikasi di Firefox selama pengembangan:
- Mengonfigurasi Firefox:
- Buka
about:config
di tab browser baru. Baca dan tutup peringatan yang muncul. - Aktifkan
devtools.debugger.remote-enabled
dengan mengatur nilainya keTrue
. - Aktifkan
devtools.chrome.enabled
dengan mengatur nilainya keTrue
. - Nonaktifkan
devtools.debugger.prompt-connection
dengan mengatur nilainya keFalse
.
- Buka
- Tutup semua instans Firefox.
- Jalankan aplikasi di shell perintah dengan
dotnet watch
(ataudotnet run
). - Buka kembali browser Firefox dan navigasikan ke aplikasi.
- Buka
about:debugging
di tab browser baru. Biarkan tab ini terbuka. - Kembali ke tab tempat aplikasi berjalan. Mulai penelusuran kesalahan jarak jauh dengan menekan Shift+Alt+d.
- Di tab
Debugger
, buka file sumber aplikasi yang ingin Anda debug di bawah simpulfile://
dan atur titik henti. Misalnya, atur titik henti padacurrentCount++;
baris dalamIncrementCount
metodeCounter
komponen (Pages/Counter.razor
). - Navigasi ke
Counter
halaman komponen (/counter
) di tab browser aplikasi dan pilih tombol penghitung untuk menekan titik henti. - Tekan F5 untuk melanjutkan eksekusi di tab penelusuran kesalahan.
Putuskan pengecualian yang tidak tertangani
Debugger tidak melanggar pengecualian yang tidak tertangani karena Blazor menangkap pengecualian yang tidak tertangani oleh kode pengembang.
Untuk memutuskan pengecualian yang tidak tertangani:
- Buka pengaturan pengecualian debugger (Debug>Pengaturan Pengecualian Windows>) di Visual Studio.
- Atur pengaturan Pengecualian JavaScript berikut ini:
- Semua Pengecualian
- Pengecualian Tidak Tertangkap
Peta sumber browser
Peta sumber browser memungkinkan browser untuk memetakan file yang dikompilasi kembali ke file sumber aslinya dan biasanya digunakan untuk penelusuran kesalahan sisi klien. Namun, Blazor saat ini tidak memetakan C# langsung ke JavaScript/WASM. Sebaliknya, Blazor apakah interpretasi IL dalam browser, sehingga peta sumber tidak relevan.
Konfigurasi Firewall
Jika firewall memblokir komunikasi dengan proksi debug, buat aturan pengecualian firewall yang mengizinkan komunikasi antara browser dan NodeJS
proses.
Peringatan
Modifikasi konfigurasi firewall harus dilakukan dengan hati-hati untuk menghindari pembuatan kerentanan keamanan. Terapkan panduan keamanan dengan hati-hati, ikuti praktik keamanan terbaik, dan hormati peringatan yang dikeluarkan oleh produsen firewall.
Mengizinkan komunikasi terbuka dengan proses:NodeJS
- Membuka server Node ke koneksi apa pun, tergantung pada kemampuan dan konfigurasi firewall.
- Mungkin berisiko tergantung pada jaringan Anda.
- Hanya direkomendasikan pada mesin pengembang.
Jika memungkinkan, hanya izinkan komunikasi terbuka dengan NodeJS
proses pada jaringan tepercaya atau privat.
Untuk panduan konfigurasi Windows Firewall , lihat Membuat Program Masuk atau Aturan Layanan. Untuk informasi selengkapnya, lihat Windows Defender Firewall dengan Keamanan Tingkat Lanjut dan artikel terkait dalam kumpulan dokumentasi Windows Firewall.
Pecahkan masalah
Jika Anda mengalami kesalahan, tips berikut ini dapat membantu:
- Hapus titik henti:
- Google Chrome: Di tab Debugger , buka alat pengembang di browser Anda. Di konsol, jalankan
localStorage.clear()
untuk menghapus titik henti apa pun. - Microsoft Edge: Di tab Aplikasi , buka Penyimpanan lokal. Klik kanan situs dan pilih Hapus.
- Google Chrome: Di tab Debugger , buka alat pengembang di browser Anda. Di konsol, jalankan
- Konfirmasikan bahwa Anda telah menginstal dan mempercayai sertifikat pengembangan ASP.NET Core HTTPS. Untuk informasi selengkapnya, lihat Menerapkan HTTPS di ASP.NET Core.
- Visual Studio memerlukan opsi Aktifkan penelusuran kesalahan JavaScript untuk ASP.NET (Chrome dan Edge) di Opsi>Alat>Men-debug>Umum. Ini adalah pengaturan default untuk Visual Studio. Jika penelusuran kesalahan tidak berfungsi, konfirmasikan bahwa opsi dipilih.
- Jika lingkungan Anda menggunakan proksi HTTP, pastikan bahwa
localhost
disertakan dalam pengaturan bypass proksi. Ini dapat dilakukan dengan mengaturNO_PROXY
variabel lingkungan di:- File
launchSettings.json
untuk proyek. - Pada tingkat variabel lingkungan pengguna atau sistem agar diterapkan ke semua aplikasi. Saat menggunakan variabel lingkungan, mulai ulang Visual Studio agar perubahan diterapkan.
- File
- Pastikan firewall atau proksi tidak memblokir komunikasi dengan proksi debug (
NodeJS
proses). Untuk informasi selengkapnya, lihat bagian Konfigurasi firewall.
Titik henti tidak tertembak OnInitialized{Async}
Proksi Blazor penelusuran kesalahan kerangka kerja tidak diluncurkan secara instan pada startup aplikasi, sehingga titik henti dalam OnInitialized{Async}
metode siklus hidup mungkin tidak terpukul. Sebaiknya tambahkan penundaan di awal isi metode untuk memberikan proksi debug beberapa waktu untuk diluncurkan sebelum titik henti tertembak. Anda dapat menyertakan penundaan berdasarkan if
arahan kompilator untuk memastikan bahwa penundaan tidak ada untuk build rilis aplikasi.
protected override void OnInitialized()
{
#if DEBUG
Thread.Sleep(10000);
#endif
...
}
protected override async Task OnInitializedAsync()
{
#if DEBUG
await Task.Delay(10000);
#endif
...
}
Batas waktu Visual Studio (Windows)
Jika Visual Studio melemparkan pengecualian bahwa adaptor debug gagal diluncurkan yang menyebutkan bahwa batas waktu tercapai, Anda dapat menyesuaikan batas waktu dengan pengaturan Registri:
VsRegEdit.exe set "<VSInstallFolder>" HKCU JSDebugger\Options\Debugging "BlazorTimeoutInMilliseconds" dword {TIMEOUT}
Tempat {TIMEOUT}
penampung dalam perintah sebelumnya berada dalam milidetik. Misalnya, satu menit ditetapkan sebagai 60000
.
ASP.NET Core