Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Anlık hata ayıklama, Visual Studio dışında çalışan bir uygulama hata verdiğinde veya kilitlendiğinde Visual Studio'yu otomatik olarak başlatabilir. Just-In-Time hata ayıklama ile Visual Studio'nun dışında uygulamaları test edebilir ve bir sorun oluştuğunda debug etmeye başlamak için Visual Studio'yu açabilirsiniz.
Anında hata ayıklama, Windows masaüstü uygulamalarında çalışır. Evrensel Windows Uygulamaları veya Görselleştiriciler gibi yerel bir uygulamada barındırılan yönetilen kod için çalışmaz.
Tavsiye
Yalnızca Just-In-Time Hata Ayıklayıcı iletişim kutusunun görüntülenmesini durdurmak istiyorsanız, ancak Visual Studio yüklü değilse, bkz. Just-In-Time Hata Ayıklayıcı'yı devre dışı bırakma. Visual Studio'yu bir kez yüklediyseniz , Windows kayıt defterinden Just-In-Time hata ayıklamasını devre dışı bırakmanız gerekebilir.
Visual Studio'da Just-In-Time hata ayıklamayı etkinleştirme veya devre dışı bırakma
Visual Studio'da Just-In-Time hata ayıklayıcısıyla çalışırken, hata ayıklayıcının yapılandırma seçeneklerine Araçlar>Seçenekleri veya Hata Ayıklama>Seçenekleri menülerinden erişilebilir. Just-In-Time hata ayıklayıcısı, yükleyicinin Tek tek bileşenler>hata ayıklama ve test bölümünde kullanılabilir.
Uyarı
Just-In-Time hata ayıklamayı etkinleştirmek veya devre dışı bırakmak için Visual Studio'yu yönetici olarak çalıştırmanız gerekir. Just-In-Time hata ayıklamasını etkinleştirmek veya devre dışı bırakmak bir kayıt defteri anahtarı ayarlar ve anahtarı değiştirmek için yönetici ayrıcalıkları gerekebilir. Visual Studio'yu yönetici olarak açmak için Visual Studio uygulamasına sağ tıklayın ve Yönetici olarak çalıştır'ı seçin.
Zamanında hata ayıklamayı etkinleştirmek veya devre dışı bırakmak için:
Araçlar>Seçenekleri bölmesinde Tüm Ayarlar>Hata Ayıklama>Genel bölümünü genişletin.
Sağ bölmede Anında Hata Ayıklamayı Yapılandır bağlantısını seçin.
Visual Studio Hata Ayıklayıcı Seçenekleri iletişim kutusunda, bu tür kodlar için Anında hata ayıklamayı etkinleştir seçeneğini yapılandırın. Anında hata ayıklamanın hata ayıklamasını istediğiniz kod türlerini seçin: Yönetilen (.NET Framework) veya Yerel.
Tamam'ı seçin.
Araçlar>Seçenekleri iletişim kutusunda Hata Ayıklama>Tam Zamanında bölümünü genişletin.
Bu tür kodlar için Anında Hata Ayıklamayı Etkinleştir kutusunda, Anında Hata Ayıklamanın hata ayıklamasını istediğiniz kod türlerini seçin: Yönetilen, Yerel ve/veya Betik.
Tamam'ı seçin.
Just-In-Time hata ayıklayıcısını etkinleştirirseniz, ancak uygulama kilitlendiğinde veya hata verdiğinde açılmazsa, Just-In-Time hata ayıklama sorunlarını giderme bölümüne bakın.
Windows kayıt defterinden Just-In-Time hata ayıklamasını devre dışı bırakma
Visual Studio artık bilgisayarınızda yüklü olmasa bile Tam Zamanında Hata Ayıklama özelliği etkin olabilir. Visual Studio artık yüklü değilse, Windows kayıt defterini düzenleyerek Just-In-Time hata ayıklamasını devre dışı bırakabilirsiniz.
Kayıt defterini düzenleyerek Just-In-Time hata ayıklamasını devre dışı bırakmak için:
Windows Başlat menüsünde Kayıt Defteri Düzenleyicisi'ni (regedit.exe) çalıştırın.
Kayıt Defteri Düzenleyicisi penceresinde, varsa aşağıdaki kayıt defteri girdilerini bulun ve silin:
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows NT\CurrentVersion\AeDebug\Debugger
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\.NETFramework\DbgManagedDebugger
Varsa aşağıdaki kayıt defteri girdilerini de silin:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AeDebug\Debugger
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\DbgManagedDebugger
Diğer kayıt defteri anahtarlarını silmediğinizden veya değiştirmediğinizden emin olun.
Kayıt Defteri Düzenleyicisi penceresini kapatın.
Windows Form'da Just-In-Time hata ayıklamayı etkinleştirme
Varsayılan olarak, Windows Form uygulamaları, kurtarılabilirse uygulamanın çalışmaya devam etmesini sağlayan bir üst düzey özel durum işleyicisine sahiptir. Bir Windows Forms uygulaması işlenmeyen bir özel durum oluşturursa, aşağıdaki iletişim kutusu gösterilir:
Standart Windows Form hata işleme yerine Just-In-Time hata ayıklamasını etkinleştirmek için şu ayarları ekleyin:
system.windows.formsmachine.config veya <uygulama adı>.exe.config dosyasınınjitDebuggingbölümündetruedeğerini olarak ayarlayın:<configuration> <system.windows.forms jitDebugging="true" /> </configuration>C++ Windows Form uygulamasında,
öğesini olarak bir .config dosyasında veya kodunuzda ayarlayın. /Zi ile ve /Og olmadan derleme yaparsanız, derleyici bu özniteliği sizin için ayarlar. Ancak, iyileştirilmiş olmayan bir yayın derlemesinde hata ayıklamak istiyorsanız, uygulamanızınDebuggableAttributedosyasına aşağıdaki satırı ekleyerek ayarlamanız gerekir:[assembly:System::Diagnostics::DebuggableAttribute(true, true)];Daha fazla bilgi için bkz. DebuggableAttribute.
Just-In-Time hata ayıklamasını kullanma
Bu örnek, bir uygulama hata fırlattığında Just-In-Time hata ayıklama işleminde size yol gösterir.
Bu adımları izlemek için Visual Studio'yu yüklemiş olmanız gerekir. Visual Studio'nuz yoksa ücretsiz Visual Studio Community Edition'ı indirebilirsiniz.
AraçlarSeçenekleri'nin altındaki >etkinleştirildiğinden emin olun.
Bu örnekte, Visual Studio'da NullReferenceException oluşturan bir C# konsol uygulaması oluşturursunuz.
Visual Studio'da ThrowsNullException adlı bir C# konsol uygulaması (>>>>Konsol Uygulaması) oluşturun. Visual Studio'da proje oluşturma hakkında daha fazla bilgi için bkz . İzlenecek yol: Basit uygulama oluşturma.
Proje Visual Studio'da açıldığında Program.cs dosyasını açın. Main() yöntemini, konsola bir satır yazdıran ve ardından NullReferenceException oluşturan aşağıdaki kodla değiştirin:
static void Main(string[] args) { Console.WriteLine("we will now throw a NullReferenceException"); throw new NullReferenceException("this is the exception thrown by the console app"); }Çözümü oluşturmak için
Debug (varsayılan) veyaRelease yapılandırmasını seçin ve ardındanDerle veyaÇözümü Yeniden Derle seçeneğini seçin. Tam hata ayıklama deneyimi için Hata ayıklama yapılandırması'nı seçin.
Sürüm yapılandırmasını seçerseniz, bu yordamın çalışması için Yalnızca Kodum'u kapatmanız gerekir.
Araçlar>Seçenekleri bölmesinde Tüm Ayarlar>Hata Ayıklama>Genel bölümünü genişletin ve Yalnızca Kodumu Etkinleştir onay kutusunu temizleyin.
Araçlar>Seçenekleri iletişim kutusunda Hata Ayıklama>Genel bölümünü genişletin ve Yalnızca Kodumu Etkinleştir onay kutusunu temizleyin.
Bu seçeneğin seçimini kaldırdığınızda, Hata ayıklamayı başlatırken kullanıcı kodu yoksa uyar (Yalnızca yönetilen) seçeneği otomatik olarak devre dışı bırakılır.
Derleme yapılandırmaları hakkında daha fazla bilgi için bkz. Derleme yapılandırmalarını anlama.
C# proje klasörünüzde (...\ThrowsNullException\ThrowsNullException\bin\Debug veya ...\ThrowsNullException\ThrowsNullException\bin\Release) yerleşik uygulama ThrowsNullException.exe açın.
Aşağıdaki komut penceresini görmeniz gerekir:
Anında Hata Ayıklayıcı Seçme iletişim kutusu açılır.
Kullanılabilir Hata Ayıklayıcılar'ın altında, henüz seçili değilse tercih ettiğiniz Visual Studio sürümünün/sürümünün <>yeni örneği'ni seçin.
Tamam'ı seçin.
ThrowsNullException projesi Visual Studio'nun yeni bir örneğinde açılır ve yürütme özel durum oluşturan satırda durdurulur:
Bu noktada hata ayıklamaya başlayabilirsiniz. Gerçek bir uygulamada hata ayıklarken kodun neden özel durum oluşturmuş olduğunu bulmanız gerekir.
Dikkat
Uygulamanız güvenilmeyen kod içeriyorsa, hata ayıklamaya devam edip etmeyeceğinize karar vermenizi sağlayan bir güvenlik uyarısı iletişim kutusu görüntülenir. Hata ayıklamaya devam etmeden önce koda güvenip güvenmediğinize karar verin. Kodu kendiniz mi yazdınız? Uygulama uzak bir makinede çalışıyorsa işlemin adını tanıyor musunuz? Uygulama yerel olarak çalışıyorsa, bilgisayarınızda kötü amaçlı kod çalıştırma olasılığını göz önünde bulundurun. Kodun güvenilir olduğuna karar verirseniz Tamam'ı seçin. Aksi takdirde İptal'i seçin.
Anında hata ayıklama sorunlarını giderme
Anında hata ayıklama başlatılamıyor
Visual Studio'da etkinleştirildiği halde bir uygulama çökmesi durumunda Just-In-Time hata ayıklama başlamazsa:
Bilinen bir Windows sorunu Just-In-Time hata ayıklayıcısının başarısız olmasına neden olabilir.
Düzeltme, aşağıdaki kayıt defteri anahtarlarına DWORD Değeri olarak Otomatik ve Değer verisi olarak 1 eklemektir.
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AeDebug
(64 bit makinelerdeki 32 bit uygulamalar için) HKEY_LOCAL_MACHINE\Software\WOW6432Node\Microsoft\Windows NT\CurrentVersion\AeDebug
Windows Hata Bildirimi, bilgisayarınızda hata işlemeyi devralıyor olabilir.
Bu sorunu düzeltmek için Kayıt Defteri Düzenleyicisi'ni kullanarak aşağıdaki kayıt defteri anahtarlarına Devre Dışı olarak DWORD Değeri, değer verisi1 ekleyin.
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\Windows Error Reporting
(64 bit makinelerdeki 32 bit uygulamalar için) HKEY_LOCAL_MACHINE\Software\WOW6432Node\Microsoft\Windows\Windows Error Reporting
Daha fazla bilgi için bkz . . WER ayarları.
Hata iletileri
JIT hata ayıklama sırasında aşağıdaki hata mesajlarını görebilirsiniz:
Çöken sürece bağlanılamıyor. Belirtilen program bir Windows veya MS-DOS programı değil.
Hata ayıklayıcısı, başka bir kullanıcı altında çalışan bir işleme bağlanmaya çalıştı.
Bu sorunu geçici olarak çözmek için Visual Studio'da İşleme Hata Ayıklama>Ekleme'yi açın (veya Ctrl + Alt + P tuşlarına basın) ve Kullanılabilir İşlemler listesinde hata ayıklamak istediğiniz işlemi bulun. İşlemin adını bilmiyorsanız, Visual Studio Anında Hata Ayıklayıcı iletişim kutusunda İşlem Kimliğini bulun. Kullanılabilir İşlemler listesinden işlemi seçin ve Ekle'yi seçin. Just-In-Time hata ayıklayıcısı iletişim kutusunu kapatmak için Hayır'ı seçin.
Hiçbir kullanıcı oturum açmadığından hata ayıklayıcı başlatılamadı.
Konsolda oturum açmış kullanıcı olmadığından, Anında Hata Ayıklama iletişim kutusunu gösterecek bir kullanıcı oturumu yoktur.
Bu sorunu düzeltmek için makinede oturum açın.
Sınıf kayıtlı değil.
Hata ayıklayıcı, büyük olasılıkla bir yükleme sorunundan dolayı kaydedilmemiş bir COM sınıfı oluşturmaya çalıştı.
Bu sorunu gidermek için Visual Studio Yükleyicisi'ni kullanarak Visual Studio yüklemenizi yeniden yükleyin veya onarın.
Başka bir hata ayıklayıcısı kendisini Just-In-Time hata ayıklayıcısı olarak kaydetti. Onarım yapmak için Anlık hata ayıklamayı etkinleştirin veya Visual Studio onarımını çalıştırın.
Bu ileti, Just-In-Time hata ayıklayıcısı olarak ayarlanmış başka bir hata ayıklayıcınız varsa (büyük olasılıkla Visual Studio hata ayıklayıcısının eski bir sürümü) oluşur.
Just-In-Time hata ayıklama kayıt hataları tespit edildi. Onarım yapmak için Anlık hata ayıklamayı etkinleştirin veya Visual Studio onarımını çalıştırın.
Bu uyarılardan birini görürseniz, sorunu çözene kadar Visual Studio kullanarak Just-In-Time hata ayıklama için, Yönetici ayrıcalıkları gerektirir. Bu koşullar altında özelliği yönetici olmayan olarak etkinleştirmeye çalışırsanız aşağıdaki hata iletisini görürsünüz:
Erişim reddedildi. Yöneticiden YalnızcaIn-Time hata ayıklamayı etkinleştirmesini veya Visual Studio yüklemenizi onarmasını isteyin.