ASP.NET Core uygulamalarında hata ayıklama
Uyarı
ASP.NET Core'un bu sürümü artık desteklenmiyor. Daha fazla bilgi için bkz . .NET ve .NET Core Destek İlkesi. Geçerli sürüm için bu makalenin .NET 8 sürümüne bakın.
Bu makalede, tarayıcı geliştirici araçlarıyla veya tümleşik bir geliştirme ortamıyla (IDE) uygulamalarda hata ayıklama Blazor WebAssembly da dahil olmak üzere uygulamaların hatalarını ayıklama Blazor açıklanmaktadır.
Blazor Web AppVisual Studio veya Visual Studio Code'da hata ayıklanabilir.
Blazor WebAssembly uygulamalarda hata ayıklanabilir:
- Visual Studio veya Visual Studio Code'da.
- Microsoft Edge, Google Chrome ve Firefox gibi Chromium tabanlı tarayıcılarda tarayıcı geliştirici araçlarını kullanma.
Hata ayıklama için Blazor WebAssembly kullanılabilir senaryolar şunlardır:
- Kesme noktalarını ayarlayın ve kaldırın.
- IDE'lerde hata ayıklama desteğiyle uygulamayı çalıştırın.
- Kodda tek adım.
- IDE'lerde klavye kısayoluyla kod yürütmeyi sürdürme.
- Yereller penceresinde yerel değişkenlerin değerlerini gözlemleyin.
- JavaScript ile .NET arasındaki çağrı zincirleri de dahil olmak üzere çağrı yığınına bakın.
- Hata ayıklama için Visual Studio tercihleri tarafından yapılandırılan bir sembol sunucusu kullanın.
Desteklenmeyen senaryolar şunlardır:
- Yerel olmayan senaryolarda hata ayıklama (örneğin, Linux için Windows Alt Sistemi (WSL) veya Visual Studio Codespaces).
- Visual Studio veya Visual Studio Code'dan Firefox'ta hata ayıklama.
Blazor Server uygulamalar Visual Studio veya Visual Studio Code'da hata ayıklanabilir.
Blazor WebAssembly uygulamalarda hata ayıklanabilir:
- Visual Studio veya Visual Studio Code'da.
- Microsoft Edge ve Google Chrome dahil olmak üzere Chromium tabanlı tarayıcılarda tarayıcı geliştirici araçlarını kullanma.
Uygulamalar için Blazor WebAssembly desteklenmeyen senaryolar şunlardır:
- Kesme noktalarını ayarlayın ve kaldırın.
- IDE'lerde hata ayıklama desteğiyle uygulamayı çalıştırın.
- Kodda tek adım.
- IDE'lerde klavye kısayoluyla kod yürütmeyi sürdürme.
- Yereller penceresinde yerel değişkenlerin değerlerini gözlemleyin.
- JavaScript ile .NET arasındaki çağrı zincirleri de dahil olmak üzere çağrı yığınına bakın.
- Yerel olmayan senaryolarda hata ayıklama (örneğin, Linux için Windows Alt Sistemi (WSL) veya Visual Studio Codespaces).
- Hata ayıklama için bir sembol sunucusu kullanın.
Blazor Server uygulamalar Visual Studio veya Visual Studio Code'da hata ayıklanabilir.
Blazor WebAssembly uygulamalarda hata ayıklanabilir:
- Visual Studio veya Visual Studio Code'da.
- Microsoft Edge ve Google Chrome dahil olmak üzere Chromium tabanlı tarayıcılarda tarayıcı geliştirici araçlarını kullanma.
Uygulamalar için Blazor WebAssembly desteklenmeyen senaryolar şunlardır:
- Kesme noktalarını ayarlayın ve kaldırın.
- IDE'lerde hata ayıklama desteğiyle uygulamayı çalıştırın.
- Kodda tek adım.
- IDE'lerde klavye kısayoluyla kod yürütmeyi sürdürme.
- Yereller penceresinde yerel değişkenlerin değerlerini gözlemleyin.
- JavaScript ile .NET arasındaki çağrı zincirleri de dahil olmak üzere çağrı yığınına bakın.
- Hata ayıklama ara sunucusu çalışmadan önce uygulama başlatma sırasında kesme noktalarına basın. Bu, dosyadaki
Program
kesme noktalarını ve uygulamadan istenen ilk sayfa tarafından yüklenen bileşenlerin yaşam döngüsü yöntemlerindeki kesme noktalarınıOnInitialized{Async}
içerir. - Yerel olmayan senaryolarda hata ayıklama (örneğin, Linux için Windows Alt Sistemi (WSL) veya Visual Studio Codespaces).
- Hata ayıklama için bir sembol sunucusu kullanın.
Önkoşullar
Bu bölümde hata ayıklama önkoşulları açıklanmaktadır.
Tarayıcı önkoşulları
Aşağıdaki tarayıcıların en son sürümü:
- Google Chrome
- Microsoft Edge
- Firefox (yalnızca tarayıcı geliştirici araçları)
Hata ayıklama için aşağıdaki tarayıcıların en son sürümü gerekir:
- Google Chrome (varsayılan)
- Microsoft Edge
Güvenlik duvarlarının veya ara sunucuların hata ayıklama ara sunucusu (NodeJS
işlem) ile iletişimi engellemediğinden emin olun. Daha fazla bilgi için Güvenlik duvarı yapılandırması bölümüne bakın.
Not
macOS üzerinde Apple Safari şu anda desteklenmiyor.
IDE önkoşulları
Visual Studio veya Visual Studio Code'un en son sürümü gereklidir.
Visual Studio Code önkoşulları
Visual Studio Code, Visual Studio Code için C# Geliştirme Seti gerektirir (VS Code'da C# kullanmaya başlama). Uzantıyı bulmak için Visual Studio Code Uzantıları Marketi'nde uzantı listesini "c# dev kit
" ile filtreleyin:
C# Dev Kit'in yüklenmesi aşağıdaki ek uzantıları otomatik olarak yükler:
Uyarı veya hatalarla karşılaşırsanız, sorunu açıklayan bir sorun (microsoft/vscode-dotnettools
GitHub deposu) açabilirsiniz.
Uygulama yapılandırması önkoşulları
Bu alt bölümdeki yönergeler istemci tarafı hata ayıklama için geçerlidir.
Properties/launchSettings.json
Başlangıç projesinin dosyasını açın. Dosyanın profiles
düğümünün her başlatma profilinde aşağıdaki inspectUri
özelliğin varlığını onaylayın. Aşağıdaki özellik yoksa her profile ekleyin:
"inspectUri": "{wsProtocol}://{url.hostname}:{url.port}/_framework/debug/ws-proxy?browser={browserInspectUri}"
Özelliği inspectUri
:
- IDE'nin uygulamanın bir Blazor uygulama olduğunu algılamasını sağlar.
- Betik hata ayıklama altyapısına hata ayıklama proxy'si aracılığıyla Blazortarayıcıya bağlanmasını sağlar.
WebSocket protokolü (wsProtocol
), ana bilgisayar (), bağlantı noktası (url.hostname
) ve başlatılan tarayıcıdaki (url.port
browserInspectUri
) denetçi URI'sinin yer tutucu değerleri çerçeve tarafından sağlanır.
Paketler
Blazor Web Apps: Microsoft.AspNetCore.Components.WebAssembly.Server
: Tarayıcı hata ayıklama ana bilgisayarını paylaşan derlemeler için bir iç pakete (Microsoft.NETCore.BrowserDebugHost.Transport
) başvurur.
Blazor Server: Microsoft.AspNetCore.Components.WebAssembly.Server
Tarayıcı hata ayıklama ana bilgisayarını paylaşan derlemeler için bir iç pakete (Microsoft.NETCore.BrowserDebugHost.Transport
) başvurur.
Tek başına Blazor WebAssembly: Microsoft.AspNetCore.Components.WebAssembly.DevServer
Uygulama oluştururken Blazor kullanılacak geliştirme sunucusu. Chromium geliştirici araçları içinde hata ayıklama Blazor WebAssembly uygulamaları için ara yazılım eklemek için dahili olarak çağırırUseWebAssemblyDebugging.
Barındırılan Blazor WebAssembly:
- Client project:
Microsoft.AspNetCore.Components.WebAssembly.DevServer
: Uygulama oluştururken Blazor kullanılacak geliştirme sunucusu. Chromium geliştirici araçları içinde hata ayıklama Blazor WebAssembly uygulamaları için ara yazılım eklemek için dahili olarak çağırırUseWebAssemblyDebugging. - Server project:
Microsoft.AspNetCore.Components.WebAssembly.Server
Tarayıcı hata ayıklama ana bilgisayarını paylaşan derlemeler için bir iç pakete (Microsoft.NETCore.BrowserDebugHost.Transport
) başvurur.
Not
.NET uygulamalarına paket ekleme hakkında yönergeler için, Paket tüketimi iş akışında (NuGet belgeleri) paketleri yüklemek ve yönetmek altındaki makalelere bakın. NuGet.org'da doğru paket sürümlerini onaylayın.
IDE'de hata Blazor Web App ayıklama
Bu bölümdeki örnekte, Otomatik (Sunucu ve WebAssembly) etkileşimli işleme modu ve bileşen başına etkileşim konumu ile bir Blazor Web App oluşturduğunuz varsayılır.
- Uygulamayı açın.
- İstemci projesinin
currentCount++;
.Client
() bileşenindekiCounter
(Pages/Counter.razor
) satırda bir kesme noktası ayarlayın. - Çözüm Gezgini'de sunucu projesi seçiliyken, uygulamayı hata ayıklayıcıda çalıştırmak için F5 tuşuna basın.
- Tarayıcıda sayfasında
/counter
sayfasına gidinCounter
. Hata ayıklama ara sunucusunun yüklenmesi ve çalıştırılması için birkaç saniye bekleyin. Kesme noktasına gitmek için Bana tıklayın düğmesini seçin. - Visual Studio'da Yerel Ayarlar penceresinde alanın değerini
currentCount
inceleyin. - Yürütmeye devam etmek için F5 tuşuna basın.
Kesme noktaları, statik olarak işlenmiş ve etkileşimli olarak işlenmiş sunucu tarafı bileşenlerinde sunucu projesinde de isabet edilebilir.
- Hata ayıklayıcıyı durdurun.
- Sunucu uygulamasında statik olarak işlenmiş
Weather
bileşeni (Components/Pages/Weather.razor
) açın ve yönteminOnInitializedAsync
herhangi bir yerinde bir kesme noktası ayarlayın. - Uygulamayı hata ayıklayıcıda çalıştırmak için F5 tuşuna basın.
- Tarayıcıda konumundaki sayfaya
Weather
/weather
gidin. Hata ayıklama ara sunucusunun yüklenmesi ve çalıştırılması için birkaç saniye bekleyin. Uygulama yürütme kesme noktasında durur. - Yürütmeye devam etmek için F5 tuşuna basın.
Hata ayıklama ara sunucusu çalıştırılmadan önce uygulama başlatma sırasında kesme noktalarına isabet edilmez . Bu, dosyadaki Program
kesme noktalarını ve uygulamadan istenen ilk sayfa tarafından yüklenen bileşenlerin yaşam döngüsü yöntemlerindeki kesme noktalarını OnInitialized{Async}
içerir.
Blazor Server IDE'de uygulamada hata ayıklama
- Uygulamayı açın.
- Bileşendeki (
Pages/Counter.razor
) satırdacurrentCount++;
Counter
bir kesme noktası ayarlayın. - Uygulamayı hata ayıklayıcıda çalıştırmak için F5 tuşuna basın.
- Tarayıcıda sayfasında
/counter
sayfasına gidinCounter
. Hata ayıklama ara sunucusunun yüklenmesi ve çalıştırılması için birkaç saniye bekleyin. Kesme noktasına gitmek için Bana tıklayın düğmesini seçin. - Visual Studio'da Yerel Ayarlar penceresinde alanın değerini
currentCount
inceleyin. - Yürütmeye devam etmek için F5 tuşuna basın.
Hata ayıklama ara sunucusu çalıştırılmadan önce uygulama başlatma sırasında kesme noktalarına isabet edilmez . Bu, dosyadaki Program
kesme noktalarını ve uygulamadan istenen ilk sayfa tarafından yüklenen bileşenlerin yaşam döngüsü yöntemlerindeki kesme noktalarını OnInitialized{Async}
içerir.
Blazor WebAssembly IDE'de uygulamada hata ayıklama
- Uygulamayı açın.
- Bileşendeki (
Pages/Counter.razor
) satırdacurrentCount++;
Counter
bir kesme noktası ayarlayın. - Uygulamayı hata ayıklayıcıda çalıştırmak için F5 tuşuna basın.
- Tarayıcıda sayfasında
/counter
sayfasına gidinCounter
. Hata ayıklama ara sunucusunun yüklenmesi ve çalıştırılması için birkaç saniye bekleyin. Kesme noktasına gitmek için Bana tıklayın düğmesini seçin. - Visual Studio'da Yerel Ayarlar penceresinde alanın değerini
currentCount
inceleyin. - Yürütmeye devam etmek için F5 tuşuna basın.
Hata ayıklama ara sunucusu çalıştırılmadan önce uygulama başlatma sırasında kesme noktalarına isabet edilmez . Bu, dosyadaki Program
kesme noktalarını ve uygulamadan istenen ilk sayfa tarafından yüklenen bileşenlerin yaşam döngüsü yöntemlerindeki kesme noktalarını OnInitialized{Async}
içerir.
IDE'de barındırılan Blazor WebAssembly uygulamada hata ayıklama
Server proje Çözüm Gezgini'de seçili durumdayken, uygulamayı hata ayıklayıcıda çalıştırmak için F5 tuşuna basın.
Google Chrome veya Microsoft Edge gibi Chromium tabanlı bir tarayıcıyla hata ayıklama yaparken, kullanıcının profiliyle var olan bir tarayıcı penceresinde sekme açmak yerine hata ayıklama oturumu için ayrı bir profille yeni bir tarayıcı penceresi açılabilir. Kullanıcının profiliyle hata ayıklama bir gereksinimse, aşağıdaki yaklaşımlardan birini benimseyin:
- Hata ayıklamayı başlatmak için F5 tuşuna basmadan önce tüm açık tarayıcı örneklerini kapatın.
- Kullanıcının profiliyle tarayıcıyı başlatmak için Visual Studio'yu yapılandırın. Bu yaklaşım hakkında daha fazla bilgi için bkz Blazor . VS'de WASM Hata Ayıklama, Edge'i ayrı bir kullanıcı veri diziniyle (dotnet/aspnetcore #20915) başlatır.
ProjedeClient, bileşendeki ()
Pages/Counter.razor
satırındaCounter
bir kesme noktasıcurrentCount++;
ayarlayın.Tarayıcıda sayfasında
/counter
sayfasına gidinCounter
. Hata ayıklama ara sunucusunun yüklenmesi ve çalıştırılması için birkaç saniye bekleyin. Kesme noktasına gitmek için Bana tıklayın düğmesini seçin.Visual Studio'da Yerel Ayarlar penceresinde alanın değerini
currentCount
inceleyin.Yürütmeye devam etmek için F5 tuşuna basın.
Ayrıca projede sunucu kodunda Server hata ayıklayabilirsiniz:
- içindeki OnInitializedAsyncsayfasında bir kesme noktası
Pages/FetchData.razor
ayarlayın. - eylem yönteminde
WeatherForecastController
Get
bir kesme noktası ayarlayın. - Sunucuya
Fetch Data
HTTP isteği göndermeden hemen önce bileşendekiFetchData
ilk kesme noktasına gitmek için sayfaya göz atın. - Yürütmeye devam etmek için F5 tuşuna basın ve ardından içindeki sunucudaki
WeatherForecastController
kesme noktasına basın. - Yürütmenin devam etmesine izin vermek ve tarayıcıda işlenen hava durumu tahmin tablosunu görmek için F5 tuşuna yeniden basın.
Hata ayıklama ara sunucusu çalıştırılmadan önce uygulama başlatma sırasında kesme noktalarına isabet edilmez . Bu, dosyadaki Program
kesme noktalarını ve uygulamadan istenen ilk sayfa tarafından yüklenen bileşenlerin yaşam döngüsü yöntemlerindeki kesme noktalarını OnInitialized{Async}
içerir.
Hata Ayıklamadan Başlama [Ctrl+F5 (Windows) veya ⌘+F5 (macOS)] desteklenmez. Uygulama Hata ayıklama yapılandırmasında çalıştırıldığında hata ayıklama yükü her zaman küçük bir performans düşüşine neden olur.
Mevcut bir Visual Studio Code hata ayıklama oturumuna ekleme
Çalışan Blazor bir uygulamaya eklemek için dosyayı açın .vscode/launch.json
ve yer tutucuyu {URL}
uygulamanın çalıştığı URL ile değiştirin:
{
"name": "Attach and Debug",
"type": "blazorwasm",
"request": "attach",
"url": "{URL}"
}
Visual Studio Code başlatma seçenekleri
Aşağıdaki tabloda yer alan başlatma yapılandırma seçenekleri hata ayıklama türü (.vscode/launch.json
) için blazorwasm
desteklenir.
Seçenek | Açıklama |
---|---|
browser |
Hata ayıklama oturumu için başlatacak tarayıcı. Ayarlanan edge veya chrome . varsayılan değeridir edge . |
cwd |
Uygulamanın başlatıldığı çalışma dizini. |
request |
Bir uygulamaya hata ayıklama oturumu Blazor WebAssembly başlatmak ve eklemek veya attach zaten çalışan bir uygulamaya hata ayıklama oturumu eklemek için kullanınlaunch . |
timeout |
Hata ayıklama oturumunun eklenmesi için beklenmesi gereken milisaniye sayısı. Varsayılan değer 30.000 milisaniyedir (30 saniye). |
trace |
Hata ayıklayıcıdan JS günlük oluşturmak için kullanılır. Günlük oluşturmak için olarak true ayarlayın. |
url |
Hata ayıklama sırasında tarayıcıda açılacak URL. |
webRoot |
Web sunucusunun mutlak yolunu belirtir. Bir uygulama bir alt yoldan sunulursa ayarlanmalıdır. |
Aşağıdaki tabloda yer alan ek seçenekler yalnızca barındırılan Blazor WebAssembly uygulamalar için geçerlidir.
Seçenek | Açıklama |
---|---|
env |
Başlatılan işleme sağlayabilecek ortam değişkenleri. Yalnızca olarak ayarlanmışsa hosted true geçerlidir. |
hosted |
Barındırılan true Blazor WebAssembly bir uygulama başlatılıp hata ayıklanırsa olarak ayarlanmalıdır. |
program |
Barındırılan uygulamanın sunucusunu çalıştırmak için yürütülebilir dosya başvurusu. ise hosted true ayarlanmalıdır. |
Google Chrome veya Microsoft Edge ile hata ayıklama Blazor WebAssembly
Bu bölümdeki kılavuzda hata ayıklama Blazor WebAssembly uygulamaları şunlara uygulanır:
- Windows veya macOS üzerinde çalışan Google Chrome.
- *Windows üzerinde çalışan Microsoft Edge.
(veya
dotnet run
) iledotnet watch
bir komut kabuğunda uygulamayı çalıştırın.Bir tarayıcı başlatın ve uygulamanın URL'sine gidin.
Uzaktan hata ayıklamayı başlatmak için şu tuşa basın:
- Windows üzerinde Shift+Alt+d.
- macOS'ta shift+⌘+d.
Tarayıcı, varsayılan olmayan uzaktan hata ayıklama etkin olarak çalışıyor olmalıdır. Uzaktan hata ayıklama devre dışı bırakılırsa, hata ayıklama bağlantı noktası açıkken tarayıcıyı başlatma yönergeleriyle birlikte hata ayıklanabilir tarayıcı sekmesi bulunamıyor hata sayfası işlenir. Tarayıcınızın yönergelerini izleyin.
Uzaktan hata ayıklamayı etkinleştirme yönergelerini takip ettikten sonra uygulama yeni bir tarayıcı penceresinde açılır. Yeni tarayıcı penceresinde Kısayol Tuşu bileşimine basarak uzaktan hata ayıklamayı başlatın:
- Windows üzerinde Shift+Alt+d.
- macOS'ta shift+⌘+d.
Uygulamanın hayaletli görüntüsünü gösteren yeni bir pencere geliştirici araçları tarayıcı sekmesi açılır.
Not
Yönergeleri izleyerek uzaktan hata ayıklamanın etkinleştirildiği yeni bir tarayıcı sekmesi açtıysanız, ilk sekme uygulamayı ve ikinci sekmede hata ayıklayıcısını çalıştırarak özgün tarayıcı penceresini kapatabilirsiniz.
Bir dakika sonra Kaynaklar sekmesinde uygulamanın .NET derlemelerinin ve sayfalarının listesi gösterilir.
file://
Düğümü açın. Bileşen kodunda (.razor
dosyalar) ve C# kod dosyalarında (.cs
) kod uygulamanın tarayıcı sekmesinde (uzaktan hata ayıklamayı başlattıktan sonra açılan ilk sekme) yürütülürken ayarladığınız kesme noktalarına isabet edilir. Bir kesme noktasına çarptıktan sonra, hata ayıklama sekmesinde kod aracılığıyla tek adımlı (F10) veya devam ettir (F8) kod yürütme.
Chromium tabanlı tarayıcı hata ayıklaması için, Blazor Chrome Geliştirici Araçları Protokolü'ne uygulayan ve ile protokolü genişleten bir hata ayıklama proxy'si sağlar. NET'e özgü bilgiler. Hata ayıklama klavye kısayolu basıldığında, Blazor ara sunucudaki Chrome Geliştirici Araçları'nı gösterir. Ara sunucu, hata ayıklamak istediğiniz tarayıcı penceresine bağlanır (bu nedenle uzaktan hata ayıklamayı etkinleştirmeniz gerekir).
Firefox ile uygulamada Blazor WebAssembly hata ayıklama
Bu bölümdeki kılavuz, Windows üzerinde çalışan Firefox'taki hata ayıklama Blazor WebAssembly uygulamalarını uygular.
Firefox ile bir Blazor WebAssembly uygulamada hata ayıklamak için tarayıcıyı uzaktan hata ayıklama için yapılandırmanız ve .NET WebAssembly hata ayıklama ara sunucusu aracılığıyla tarayıcı geliştirici araçlarını kullanarak tarayıcıya bağlanmanız gerekir.
Not
Visual Studio'dan Firefox'ta hata ayıklama şu anda desteklenmiyor.
Geliştirme sırasında Firefox'ta bir Blazor WebAssembly uygulamada hata ayıklamak için:
- Firefox'ı yapılandırma:
- Yeni bir tarayıcı sekmesinde açın
about:config
. Görüntülenen uyarıyı okuyun ve kapatın. - değerini
True
olarak ayarlayarak etkinleştirindevtools.debugger.remote-enabled
. - değerini
True
olarak ayarlayarak etkinleştirindevtools.chrome.enabled
. - değerini
False
olarak ayarlayarak devre dışı bırakındevtools.debugger.prompt-connection
.
- Yeni bir tarayıcı sekmesinde açın
- Tüm Firefox örneklerini kapatın.
- (veya
dotnet run
) iledotnet watch
bir komut kabuğunda uygulamayı çalıştırın. - Firefox tarayıcısını yeniden başlatın ve uygulamaya gidin.
- Yeni bir tarayıcı sekmesinde açın
about:debugging
. Bu sekmeyi açık bırakın. - Uygulamanın çalıştığı sekmeye geri dönün. Shift Alt+d tuşlarına+basarak uzaktan hata ayıklamayı başlatın.
Debugger
sekmesinde, düğüm altındafile://
hata ayıklamak istediğiniz uygulama kaynak dosyasını açın ve bir kesme noktası ayarlayın. Örneğin, bileşenin ()Pages/Counter.razor
yöntemindekiCounter
IncrementCount
satırda bir kesme noktasıcurrentCount++;
ayarlayın.Counter
Uygulamanın tarayıcı sekmesinde bileşen sayfasına (/counter
) gidin ve kesme noktasına gitmek için sayaç düğmesini seçin.- Hata ayıklama sekmesinde yürütmeye devam etmek için F5 tuşuna basın.
İşlenmeyen özel durumlarda kesme
Geliştirici kodu tarafından işlenmeyen özel durumları yakaladığından Blazor hata ayıklayıcı işlenmeyen özel durumlarda bozulmaz.
İşlenmeyen özel durumları kesmek için:
- Visual Studio'da hata ayıklayıcının özel durum ayarlarını (Windows>Özel Durum Ayarlarında Hata Ayıklama>) açın.
- Aşağıdaki JavaScript Özel Durumları ayarlarını yapın:
- Tüm Özel Durumlar
- Yakalanmayan Özel Durumlar
Tarayıcı kaynak eşlemeleri
Tarayıcı kaynak eşlemeleri, tarayıcının derlenmiş dosyaları özgün kaynak dosyalarına geri eşlemesini sağlar ve istemci tarafı hata ayıklaması için yaygın olarak kullanılır. Ancak şu Blazor anda C# öğesini doğrudan JavaScript/WASM ile eşlemez. Bunun yerine, Blazor kaynak eşlemelerin uygun olmaması için tarayıcı içinde IL yorumlaması yapar.
Güvenlik duvarı yapılandırması
Güvenlik duvarı hata ayıklama ara sunucusuyla iletişimi engelliyorsa, tarayıcı ile NodeJS
işlem arasında iletişime izin veren bir güvenlik duvarı özel durum kuralı oluşturun.
Uyarı
Güvenlik açıkları oluşturmamak için güvenlik duvarı yapılandırmasında dikkatli bir değişiklik yapılmalıdır. Güvenlik yönergelerini dikkatle uygulayın, en iyi güvenlik uygulamalarını izleyin ve güvenlik duvarı üreticisi tarafından verilen uyarılara uyun.
İşlemle açık iletişime izin verilir NodeJS
:
- Güvenlik duvarının özelliklerine ve yapılandırmasına bağlı olarak Node sunucusunu herhangi bir bağlantıya açar.
- Ağınıza bağlı olarak riskli olabilir.
- Yalnızca geliştirici makinelerinde önerilir.
Mümkünse, yalnızca güvenilir veya özel ağlarda işlemle NodeJS
açık iletişime izin verin.
Windows Güvenlik Duvarı yapılandırma kılavuzu için bkz. Gelen Programı veya Hizmet Kuralı Oluşturma. Daha fazla bilgi için, Windows Güvenlik Duvarı belge kümesindeki Gelişmiş Güvenlik özellikli Windows Defender Güvenlik Duvarı ve ilgili makalelere bakın.
Sorun giderme
Hatalarla karşı karşınıza çıkarsa aşağıdaki ipuçları yardımcı olabilir:
- Kesme noktalarını kaldırma:
- Google Chrome: Hata Ayıklayıcı sekmesinde tarayıcınızda geliştirici araçlarını açın. Konsolda, kesme noktalarını kaldırmak için komutunu yürütebilirsiniz
localStorage.clear()
. - Microsoft Edge: Uygulama sekmesinde Yerel depolama'yı açın. Siteye sağ tıklayın ve Temizle'yi seçin.
- Google Chrome: Hata Ayıklayıcı sekmesinde tarayıcınızda geliştirici araçlarını açın. Konsolda, kesme noktalarını kaldırmak için komutunu yürütebilirsiniz
- ASP.NET Core HTTPS geliştirme sertifikasını yüklediğinizi ve güvendiğinizi onaylayın. Daha fazla bilgi için bkz . ASP.NET Core'da HTTPS'yi zorunlu kılma.
- Visual Studio, Araçlar>Seçenekler>Hata Ayıklama Genel bölümündeki ASP.NET için JavaScript hata ayıklamasını>etkinleştir (Chrome ve Edge) seçeneğini gerektirir. Bu, Visual Studio için varsayılan ayardır. Hata ayıklama çalışmıyorsa seçeneğin belirlendiğini onaylayın.
- Ortamınız bir HTTP ara sunucusu kullanıyorsa, ara sunucu atlama ayarlarına eklendiğinden emin olun
localhost
. Bu, ortam değişkenini ikisindeNO_PROXY
de ayarlayarak yapılabilir:- Projenin
launchSettings.json
dosyası. - Tüm uygulamalara uygulanacağı kullanıcı veya sistem ortamı değişkenleri düzeyinde. Ortam değişkeni kullanırken, değişikliğin etkili olması için Visual Studio'yu yeniden başlatın.
- Projenin
- Güvenlik duvarlarının veya ara sunucuların hata ayıklama ara sunucusu (
NodeJS
işlem) ile iletişimi engellemediğinden emin olun. Daha fazla bilgi için Güvenlik duvarı yapılandırması bölümüne bakın.
Kesme noktaları OnInitialized{Async}
isabetli değil
Çerçevenin Blazor hata ayıklama proxy'si uygulama başlangıcında anında başlatılmaz, bu nedenle yaşam döngüsü yöntemlerindeki kesme noktalarına OnInitialized{Async}
isabet edilmeyebilir. Hata ayıklama ara sunucusuna kesme noktasına ulaşmadan önce başlatılması için bir süre vermek için yöntem gövdesinin başlangıcına bir gecikme eklemenizi öneririz. Gecikmenin uygulamanın bir if
yayın derlemesinde mevcut olmadığından emin olmak için bir derleyici yönergesine göre gecikmeyi ekleyebilirsiniz.
protected override void OnInitialized()
{
#if DEBUG
Thread.Sleep(10000);
#endif
...
}
protected override async Task OnInitializedAsync()
{
#if DEBUG
await Task.Delay(10000);
#endif
...
}
Visual Studio (Windows) zaman aşımı
Visual Studio, hata ayıklama bağdaştırıcısının zaman aşımına ulaşıldığını belirterek başlatamadığı bir özel durum oluşturursa, zaman aşımını kayıt defteri ayarıyla ayarlayabilirsiniz:
VsRegEdit.exe set "<VSInstallFolder>" HKCU JSDebugger\Options\Debugging "BlazorTimeoutInMilliseconds" dword {TIMEOUT}
{TIMEOUT}
Önceki komuttaki yer tutucu milisaniye cinsindendir. Örneğin, bir dakika olarak 60000
atanır.
ASP.NET Core