Aracılığıyla paylaş


Düzenle ve Devam Et (C++)

C++ projelerinde daha önce "Edit and Continue" olarak adlandırılan "Hot Reload" özelliğini kullanabilirsiniz. Özelliğin sınırlamaları hakkında bilgi için bkz . Desteklenen Kod Değişiklikleri (C++).

C++ projelerinde Düzenle ve Devam Et'i kullanabilirsiniz. Düzenle ve Devam Et sınırlamaları hakkında daha fazla bilgi için bkz. Desteklenen Kod Değişiklikleri (C++).

/Zo (İyileştirilmiş Hata Ayıklamayı İyileştir) derleyici seçeneği, /Od (Devre Dışı Bırak (Hata Ayıkla)) seçeneği olmadan derlenen ikili dosyalar için .pdb (sembol) dosyalarına ek bilgi ekler.

Bu /Zo seçenek, Nasıl yapılır: İyileştirilmiş Kodda Hata Ayıklama bölümünde açıklandığı gibi Düzenle ve Devam Et'i devre dışı bırakır.

Anında Yeniden Yüklemeyi etkinleştirme veya devre dışı bırakma

Kodda, geçerli hata ayıklama oturumu sırasında uygulanmasını istemediğiniz düzenlemeler yapıyorsanız, Hot Reload’un otomatik çağrısını devre dışı bırakmak isteyebilirsiniz. Otomatik Hot Reload'u gerektiğinde yeniden etkinleştirebilirsiniz.

Önemli

Gerekli derleme ayarları ve özellik uyumluluğu hakkında diğer bilgiler için bkz. Visual Studio 2015 Güncelleştirme 3'te C++ Düzenle ve Devam Et.

  1. Şu anda bir hata ayıklama oturumundaysanız hata ayıklamayı durdurun (Shift + F5).
  1. Araçlar>Seçenekleri bölmesini açın ve Tüm Ayarlar>Hata Ayıklama>.NET/C++ Çalışırken Yeniden Yükle bölümünü genişletin.

  2. Hata ayıklayıcı ekli (F5) ile başlarken Sık Erişimli Yeniden Yüklemeyi etkinleştirmek için sağ bölmedeki Sık Erişimli Yeniden Yüklemeyi Etkinleştir onay kutusunu seçin.

    Onay kutusunu seçtikten sonra aşağıdaki seçenekleri yapılandırabilirsiniz:

    Anında Yeniden Yükleme seçeneği Description Varsayılan
    Devam tarihinde değişiklikleri otomatik olarak uygula (Yalnızca yerel) Hata ayıklayıcı bağlıyken (F5) devam ettiğinizde değişiklikleri uygular. Etkinleştirildi
    Eski kod hakkında uyar Hata ayıklayıcı değiştirilmiş ancak hemen uygulanamaz kodla karşılaştığında uyarıyı etkinleştirir. Etkinleştirildi
    Hata ayıklama olmadığında etkinleştir Hata ayıklayıcı bağlı değilken başlatıldığında Hot Reload'u etkinleştirir (Ctrl + ). Etkinleştirildi
    Dosya kaydetmeyi uygula Dosya kaydedildiğinde değişiklikleri uygular. Disabled
    Günlüğe kaydetme ayrıntı düzeyi Sık Erişimli Yeniden Yükleme etkinleştirildiğinde loglama seviyesini ayarlayın. Minimal, Ayrıntılı veya Teşhis arasından seçim yapın. En az
  1. Araçlar>Seçenekler iletişim kutusunu açın ve Hata Ayıklama>.NET/C++ Anlık Yeniden Yükleme bölümünü genişletin.

  2. Özelliği etkinleştirmek için aşağıdaki seçeneklerden birini veya tümünü seçin:

    • Hot Reload'u Etkinleştir: Hata ayıklayıcıyla başlatıldığında Hot Reload'u etkinleştirir (F5).

    • Hata ayıklama olmadan başlatılırken Sıcak Yeniden Yüklemeyi etkinleştir: Hata ayıklama olmadan başlatıldığında Sıcak Yeniden Yüklemeyi etkinleştirir (Ctrl + ).

    • Dosya Kaydetme sırasında Sık Erişimli Yeniden Yüklemeyi Etkinleştir: Dosya kaydedildiğinde Sık Erişimli Yeniden Yüklemeyi etkinleştirir.

    • Günlük ayrıntı düzeyi: Anında Yeniden Yükleme etkinleştirildiğinde, günlük ayrıntı düzeyini ayarlayın. En Az (varsayılan), Ayrıntılı veya Tanılama seçeneklerinden birini belirleyin.

    Bu ayarları değiştirmek üzerinde çalıştığınız tüm projeleri etkiler. Bir ayarı değiştirdikten sonra uygulamanızı yeniden oluşturmanız gerekmez. Uygulamanızı komut satırından veya bir makefile dosyasından derlerseniz ancak Visual Studio ortamında hata ayıklarsanız, /ZI seçeneğini ayarlarsanız "Düzenleme ve Devam Et" özelliğini kullanmaya devam edebilirsiniz.

  3. Tamam'ı seçin.

Düzenle ve Devam Et'i etkinleştirme veya devre dışı bırakma

Geçerli hata ayıklama oturumu sırasında uygulanmasını istemediğiniz kodda düzenlemeler yapıyorsanız, Düzenle ve Devam Et'in otomatik çağrısını devre dışı bırakmak isteyebilirsiniz. Gerektiğinde otomatik Düzenleme ve Devam Et'i yeniden etkinleştirebilirsiniz.

Önemli

Gerekli derleme ayarları ve özellik uyumluluğu hakkında diğer bilgiler için bkz. Visual Studio 2015 Güncelleştirme 3'te C++ Düzenle ve Devam Et.

  1. Şu anda bir hata ayıklama oturumundaysanız hata ayıklamayı durdurun (Shift + F5).

  2. Araçlar>Seçenekleri iletişim kutusunu açın ve Hata Ayıklama>Genel bölümünü genişletin.

  3. Düzenle ve Devam Et'i etkinleştirmek için Düzenle ve Devam Et onay kutusunu seçin. Seçeneği devre dışı bırakmak için onay kutusunun işaretini kaldırın.

  4. Düzenle ve Devam Et grubunda Yerel Düzenlemeyi Etkinleştir ve Devam Et onay kutusunu seçin veya temizleyin.

    Bu ayarı değiştirmek üzerinde çalıştığınız tüm projeleri etkiler. Bu ayarı değiştirdikten sonra uygulamanızı yeniden oluşturmanız gerekmez. Uygulamanızı komut satırından veya bir makefile dosyasından derlerseniz ancak Visual Studio ortamında hata ayıklarsanız, /ZI seçeneğini ayarlarsanız "Düzenleme ve Devam Et" özelliğini kullanmaya devam edebilirsiniz.

Kod değişikliklerini açıkça uygulama

C++'ta Düzenle ve Devam Et kod değişikliklerini iki yolla uygulayabilir. Kod değişiklikleri, bir yürütme komutu seçtiğinizde veya Kod Değişikliklerini Uygula komutu kullanılarak açıkça örtük olarak uygulanabilir.

Kod değişikliklerini açıkça uyguladığınızda, programınız kesme modunda kalır; yürütme gerçekleşmez.

  • Kod değişikliklerini açıkça uygulamak için Hata Ayıkla menüsünde Kod Değişikliklerini Uygula'yı seçin.

Kod değişikliklerini durdurma

Düzenle ve Devam Et kod değişikliklerini uygulama aşamasındayken işlemi durdurabilirsiniz.

Kod değişikliklerini uygulamayı durdurmak için:

  • Hata Ayıklama menüsünde Kod Değişikliklerini Uygulamayı Durdur'u seçin.

    Bu menü öğesi yalnızca kod değişiklikleri uygulandığında görünür.

    Bu seçeneği belirlerseniz kod değişikliklerinden hiçbiri işlenmez.

Yürütme noktasını sıfırlama

Bazı kod değişiklikleri, Düzenleme ve Devam Et değişiklikleri uyguladığında yürütme noktasının yeni bir konuma taşınmasına neden olabilir. Özellik yürütme noktasını mümkün olduğunca doğru yerleştirir, ancak sonuçlar her durumda doğru olmayabilir.

C++'ta, yürütme noktası değiştiğinde sizi bilgilendiren bir iletişim kutusu bulunur. Hata ayıklamaya devam etmeden önce konumun doğru olduğunu doğrulamanız gerekir. Doğru değilse , Sonraki Deyimi Ayarla komutunu kullanın. Daha fazla bilgi için bkz. Yürütülecek sonraki ifadeyi ayarla.

Eski kodla çalışma

Bazı durumlarda, Düzenle ve Devam Et, yürütülebilir dosyaya kod değişikliklerini hemen uygulayamaz, ancak hata ayıklamaya devam ederseniz kod değişikliklerini daha sonra uygulayabilir. Bu senaryo, geçerli işlevi çağıran bir işlevi düzenlerseniz veya çağrı yığınındaki bir işleve 64 bayttan fazla yeni değişken eklerseniz gerçekleşir.

Bu gibi durumlarda hata ayıklayıcı, değişiklikler uygulanıncaya kadar özgün kodu yürütmeye devam eder. Eski kod, enc25.tmp başlığı gibi ayrı bir kaynak dosyası penceresinde geçici bir kaynak dosya penceresi olarak görünür. Düzenlenen kaynak özgün kaynak penceresinde görünmeye devam eder. Eski kodu düzenlemeye çalışırsanız bir uyarı iletisi görüntülenir.