Aracılığıyla paylaş


Birden çok işlemde hata ayıklama (C#, Visual Basic, C++)

Visual Studio, çeşitli işlemleri olan bir çözümün hatalarını ayıklayabilir. İşlemleri başlatabilir ve bunlar arasında geçiş yapabilir, kaynakta ilerleyebilir, hata ayıklamayı durdurabilir ve işlemleri ayrı ayrı sonlandırabilir veya ayırabilirsiniz.

Birden çok işlemle hata ayıklamaya başlama

Visual Studio çözümünde birden fazla proje bağımsız olarak çalıştırılabilirse, hata ayıklayıcının başlatıldığı projeyi seçebilirsiniz. Geçerli başlangıç projesi Çözüm Gezgini'nde kalın yazı tipiyle görüntülenir.

Başlangıç projesini değiştirmek için Çözüm Gezgini'nde farklı bir projeye sağ tıklayın ve Başlangıç Projesi Olarak Ayarla'yı seçin.

Başlangıç projesi yapmadan Çözüm Gezgini'nden projede hata ayıklamaya başlamak için projeye sağ tıklayın ve Hata Ayıklama>Yeni örnek başlat veya Yeni örneğeadım at'ı seçin.

Başlangıç projesini veya çözüm Özelliklerinden birden çok projeyi ayarlamak için:

  1. Çözüm Gezgini'nde çözümü seçin ve araç çubuğunda Özellikler simgesini seçin veya çözüme sağ tıklayıp Özellikler'i seçin.

  2. Özellikler sayfasında Ortak Özellikler> seçin.

    Bir proje için başlangıç türünü değiştirme

  3. Geçerli seçim, Tek başlangıç projesi ve proje dosyası veya Birden çok başlangıç projesi seçin.

    Birden çok başlangıç projesi'ni seçerseniz, başlangıç sırasını ve eylemi her proje için gerçekleştirecek şekilde değiştirebilirsiniz: Başlat, Hata ayıklama olmadan başlat veya Yok.

  4. Uygula'yı veya iletişim kutusunu uygulamak ve kapatmak için Tamam'ı seçin.

İşleme bağlan

Hata ayıklayıcısı, uzak cihazlar da dahil olmak üzere Visual Studio dışındaki işlemlerde çalışan uygulamalara da eklenebilir . Bir uygulamaya ekledikten sonra Visual Studio hata ayıklayıcısını kullanabilirsiniz. Hata ayıklama özellikleri sınırlı olabilir. Uygulamanın hata ayıklama bilgileriyle derlenip derlenmediğine, uygulamanın kaynak koduna erişiminiz olup olmadığına ve JIT derleyicisinin hata ayıklama bilgilerini izlediğine bağlıdır.

Daha fazla bilgi için bkz. Çalışan işlemlere ekleme.

Çalışan bir işleme eklemek için:

  1. Uygulama çalışırken Hata Ayıkla>Sürece Bağla seçin.

    İşleme Ekle iletişim kutusu

  2. İşleme Ekle iletişim kutusunda, Kullanılabilir İşlemler listesinden işlemi seçin ve ardından Ekle'yi seçin.

Uyarı

Hata ayıklayıcısı, alt proje aynı çözümde olsa bile, hata ayıklanmış bir işlem tarafından başlatılan bir alt işleme otomatik olarak eklenmez. Bir alt işlemin hatalarını ayıklamak için, alt işlem başladıktan sonra ona bağlayın veya Windows Kayıt Defteri Düzenleyicisi'ni alt işlemi yeni bir hata ayıklayıcı örneği içerisinde başlatacak şekilde yapılandırın.

Hata ayıklayıcıda bir işlemi otomatik olarak başlatmak için Kayıt Defteri Düzenleyicisi'ni kullanın

Bazen, başka bir işlem tarafından başlatılan bir uygulamanın başlangıç kodunda hata ayıklamanız gerekebilir. Hizmetler ve özel kurulum eylemleri buna örnek olarak verilebilir. Hata ayıklayıcının başlatılmasını ve uygulamaya otomatik olarak eklenmesini sağlayabilirsiniz.

  1. regedit.exeçalıştırarak Windows Kayıt Defteri Düzenleyicisi'ni başlatın.

  2. Kayıt Defteri Düzenleyicisi'nde HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Image File Execution Optionsgidin.

  3. Hata ayıklayıcıda başlatmak istediğiniz uygulamanın klasörünü seçin.

    Uygulama alt klasör olarak listelenmiyorsa Görüntü Dosyası Yürütme Seçenekleri'ne sağ tıklayın, Yeni Anahtar'ı> seçin ve uygulama adını yazın. İsterseniz ağaçtaki yeni anahtara sağ tıklayıp Yeniden Adlandır'ı seçip uygulama adını da girebilirsiniz.

  4. Ağaçtaki yeni anahtara sağ tıklayın ve YeniDize> seçin.

  5. Yeni değerin adını Yeni Değer #1debuggerolarak değiştirin.

  6. Hata ayıklayıcıya sağ tıklayın ve Değiştir'i seçin.

    Dizeyi Düzenle iletişim kutusu

  7. Dizeyi Düzenle iletişim kutusunda vsjitdebugger.exe kutusuna yazın ve Tamam'ı seçin.

    regedit.exe'de Otomatik hata ayıklayıcı başlatma girdisi

Birden çok işlemle hata ayıklama

Bir uygulamada birden fazla işlemle hata ayıklarken, durdurma, adım adım ilerleme ve devam etme komutları varsayılan olarak tüm işlemleri etkiler. Örneğin, bir işlem kesme noktasında askıya alındığında, diğer tüm işlemlerin yürütülmesi de askıya alınır. Yürütme komutlarının hedefleri üzerinde daha fazla denetim elde etmek için bu varsayılan davranışı değiştirebilirsiniz.

Bir işlem kesildiğinde tüm işlemlerin askıya alınıp alınmayacağını değiştirmek için:

  1. Araçlar (veya Hata Ayıklama) >Seçenekleri bölmesinde Tüm Ayarlar>Hata Ayıklama>Genel bölümünü genişletin.
  1. Araçlar (veya Hata Ayıklama) >Seçenekleri iletişim kutusunda Hata Ayıklama>Genel bölümünü genişletin.
  1. Bir işlem kesildiğinde tüm işlemleri kes seçeneği onay kutusunu seçin veya temizleyin.

Kesme, Adım, Devam komutları

Aşağıdaki tabloda, Bir işlem kesildiğinde tüm işlemleri kes onay kutusu seçildiğinde veya seçimi kaldırıldığında hata ayıklama komutlarının davranışları açıklanmaktadır:

Command Seçilmiş Seçimi kaldırıldı
Hata ayıklama>Tümünü Kes Tüm işlemler bozulur. Tüm işlemler çöker.
Hata ayıklama>Devam etmek Tüm işlemler sürdürülür. Askıya alınan tüm işlemler sürdürülür.
Hata ayıklama>İçine Gir, Üzerinden Geç veya Dışına Çık Geçerli işlem adımları sırasında tüm işlemler çalıştırılır.
Ardından tüm işlemler bozulur.
Geçerli işlem adımları.
Askıya alınan işlemler sürdürülür.
Çalışan işlemler devam eder.
Hata ayıklama>Geçerli İşleme AdımLa, Geçerli İşlemin Üzerine Adımla veya Geçerli İşlemden Çık N/A Geçerli işlem adımları.
Diğer işlemler mevcut durumlarını korur (askıya alınır veya çalışır durumdadır).
Kaynak penceresi Kesme Noktası Tüm işlemler bozulur. Yalnızca kaynak pencere işlemi kırılır.
Kaynak penceresi İmleç için çalıştır
Kaynak pencere mevcut işlemde olmalıdır.
Kaynak pencere işlemi imleçte çalıştırılırken tüm işlemler çalıştırılır ve sonra da kesilir.
Ardından diğer tüm işlemler bozulur.
Kaynak pencere işlemi imleç için çalışır.
Diğer işlemler mevcut durumlarını korur (askıya alınır veya çalışır durumdadır).
İşlemler penceresi >Kesme İşlemi N/A Seçili işlem kesintileri.
Diğer işlemler mevcut durumlarını korur (askıya alınır veya çalışır durumdadır).
İşlemler penceresi >İşlemi Sürdür N/A Seçili işlem devam ettiriliyor.
Diğer işlemler mevcut durumlarını korur (askıya alınır veya çalışır durumdadır).

Kaynak ve simge (.pdb) dosyalarını bulma

Bir işlemin kaynak kodunda gezinmek için hata ayıklayıcının kaynak dosyalarına ve sembol dosyalarına erişmesi gerekir. Daha fazla bilgi için bkz. Simge (.pdb) ve kaynak dosyaları belirtme.

Bir işlemin dosyalarına erişemiyorsanız Ayrıştırma penceresini kullanarak gezinebilirsiniz. Daha fazla bilgi için bkz . Nasıl yapılır: Ayrıştırma penceresini kullanma.

İşlemler arasında geçiş yapma

Hata ayıklarken birden çok işleme ekleyebilirsiniz, ancak herhangi bir zamanda hata ayıklayıcıda yalnızca bir işlem etkindir. Etkin veya geçerli işlemi Hata Ayıklama Konumu araç çubuğunda veya İşlemler penceresinde ayarlayabilirsiniz. İşlemler arasında geçiş yapmak için her iki işlemin de kesme modunda olması gerekir.

Hata Ayıklama Konumu araç çubuğunu kullanarak geçerli işlemi ayarlamak için:

  1. Hata Ayıklama Konumu araç çubuğunu açmak içinAraç Çubuklarını>Görüntüle>Hata Ayıklama Konumu'nu seçin.

  2. Hata ayıklama sırasında, Hata Ayıklama Konumu araç çubuğunda bulunan İşlem açılır listesinden geçerli olarak ayarlamak istediğiniz süreci seçin.

    İşlemler arasında geçiş

İşlemler penceresinden geçerli işlemi ayarlamak için:

  1. İşlemler penceresini açmak için hata ayıklarkenWindows>İşlemlerinde> seçin.

  2. İşlemler penceresinde geçerli işlem sarı bir okla işaretlenir. Geçerli işlem olarak ayarlamak istediğiniz işleme çift tıklayın.

    İşlemler penceresi

Bir işleme geçiş yapmak, hata ayıklama amacıyla geçerli işlem olarak ayarlar. Hata ayıklayıcı pencereleri geçerli işlemin durumunu gösterir ve adımlama komutları yalnızca geçerli işlemi etkiler.

Birden çok işlemle hata ayıklamayı durdurma

Varsayılan olarak Hata Ayıklamayı Durdur>, seçtiğinizde hata ayıklayıcı sona erer veya tüm işlemlerden ayrılır.

  • Geçerli işlem hata ayıklayıcıda başlatıldıysa işlem sonlandırılır.

  • Hata ayıklayıcıyı geçerli işleme eklediyseniz, hata ayıklayıcı işlemden ayrılır ve işlemi çalışır durumda bırakır.

Visual Studio çözümünden bir işlemde hata ayıklamaya başlarsanız, zaten çalışmakta olan başka bir işleme ekleyin ve hata ayıklamayı durdur'u seçin, hata ayıklama oturumu sona erer. Visual Studio'da başlatılan işlem sona ererken, eklediğiniz işlem çalışmaya devam eder.

Hata Ayıklamayı Durdur'un tek bir işlemi nasıl etkileyeceğini denetlemek için İşlemler penceresinde bir işleme sağ tıklayın ve hata ayıklama durdurulduğunda ayır onay kutusunu seçin veya temizleyin.

Uyarı

Bir işlem çöktüğünde tüm işlemleri durdur seçeneği, işlemleri durdurmayı, sonlandırmayı veya işlemlerden ayırmayı etkilemez.

Komutları durdur, sonlandır ve ayır

Aşağıdaki tabloda, birden çok işlemle hata ayıklayıcı durdurma, sonlandırma ve ayırma komutlarının davranışları açıklanmaktadır:

Command Açıklama
Hata ayıklama>Hata Ayıklamayı Durdur İşlemler penceresinde davranış değiştirilmediği sürece, hata ayıklayıcısı tarafından başlatılan işlemler sonlandırılır ve ekli işlemler ayrılır.
Hata ayıklama>Tümünü Sonlandır Tüm işlemler sonlandırılır.
Hata ayıklama>Tümünü Ayır Hata ayıklayıcı tüm işlemlerden ayrılır.
İşlemler penceresi >Ayırma İşlemi Hata ayıklayıcı seçilen işlemden ayrılır.
Diğer işlemler mevcut durumlarını korur (askıya alınır veya çalışır durumdadır).
İşlemler penceresi >İşlemi Sonlandır Seçili işlem sonlandırıldı.
Diğer işlemler mevcut durumlarını korur (askıya alınır veya çalışır durumdadır).
Hata ayıklama durduğunda işlemler penceresini> Seçili Hata Ayıklama>Hata Ayıklamayı Durdur, seçili olan işlemden ayrılır.
Seçili değilse Hata Ayıklama>Hata Ayıklamayı Durdur seçili işlemi sonlandırır.