Aracılığıyla paylaş


/dynamicdeopt (C++ Dinamik Hata Ayıklamayı Etkinleştir) (Önizleme)

Önemli

/dynamicdeopt derleyici anahtarı şu anda ÖNİzLEME aşamasındadır. Bu bilgiler, yayından önce önemli ölçüde değiştirilebilen bir ön sürüm özelliğiyle ilgilidir. Microsoft, burada sağlanan bilgilerle ilgili olarak açık veya zımni hiçbir garanti vermez.

C++ Dinamik Hata Ayıklama (Önizleme) etkinleştirerek iyileştirilmiş kodun derlenmiş gibi hatalarını ayıklayabilir ve isteğe bağlı işlev kullanımdan kaldırma özelliğiyle her yere adım atabilirsiniz.

Sözdizimi

/dynamicdeopt
/dynamicdeopt:suffix <suffix>
/dynamicdeopt:sync

Tartışmalar

suffix
Açılmamış çıktı için dosya uzantısını belirtin.

Hiçbir seçenek olmadan ve giriş olarak test.cpp verilmeyen çıkışınız test.obj, test.exeve test.pdb, test.alt.obj, test.alt.exeve test.alt.pdbiçerir. Bu anahtar, iyileştirilmemiş ikili derleme yapıtlarının son ekini .alt başka bir şeye değiştirmenize olanak tanır. Son eki değiştirirseniz, tüm dosyaların yeni son eki kullanması ve /dynamicdeopt:suffix (Önizleme)kullanılarak bağlayıcıya geçirilen adla eşleşmesi gerekir. Sahip olduğunuz diğer dosyalarla dosya adı çakışmalarını önlemeniz gerekmedikçe genellikle bu anahtarı kullanmazsınız.

sync
İyileştirilmiş çıkışı paralel yerine derledikten sonra, iyileştirilmiş çıkışı derler. Varsayılan olarak, derleyici kod oluşturucunun paralel bir örneğini oluşturur. Bu anahtar, bunların bunun yerine seri olarak çalıştırılmasını sağlar. Bu anahtarın derleme ortamınıza daha uygun olması durumunda sağlanır.

Açıklamalar

Visual Studio 2022 Sürüm 17.14 Önizleme 2'den itibaren kullanılabilen bu önizleme bayrağı yalnızca x64 projeleri için geçerlidir ve ilgili bağlayıcı bayrağıyla (/DYNAMICDEOPT) kullanılmalıdır.

/dynamicdeopt ile derlemek, hata ayıklama için kullanılan diğer ikili dosyaları oluşturur. İyileştirilmiş bir dosyada iyileştirilmiş bir işlevin hatalarını ayıkladığınızda, hata ayıklayıcı bunun yerine alternatif ikili dosyaya girer. Bu, iyileştirilmiş kodun performans avantajlarını elde ederken iyileştirilmemiş kodda hata ayıklıyor gibi hata ayıklamanıza olanak tanır.

/dynamicdeopt şunları gerektirir:

/DEBUG veya /DEBUG:FULL. /DEBUGbelirtmezseniz veya /DEBUG:FASTLINKbelirtirseniz bağlayıcı önemli bir hata verir. /INCREMENTALbelirtirseniz, derleyici bir uyarı oluşturur ve /INCREMENTALotomatik olarak kapatır. /OPT:ICFbelirtirseniz, derleyici hata ayıklama deneyiminin o kadar iyi olmadığını belirten bir uyarı oluşturur. Bunun nedeni ICF'nin işlevlerin alt dosyadan kaldırılmasına neden olabilmesi, bu da bunlara adım atamadığınız anlamına gelir.

IncrediBuild 10.24, C++ Dinamik Hata Ayıklama derlemelerini destekler.
FastBuild v1.15, C++ Dinamik Hata Ayıklama derlemelerini destekler.

/dynamicdeopt düzenle ve devam et ile uyumsuzdur ve aşağıdaki derleyici anahtarları:

/GL
/ZI
/RTC1
/RTCs
/RTCc
/RTCu
/GH
/Gh
/fastcap
/callcap
/ZW
/fsanitize=address
/fsanitize=kernel-address
All of the CLR flags

Visual Studio geliştirme ortamında bu bağlayıcı seçeneğini ayarlayın

Bu anahtarı Visual Studio'da ayarlayabilirsiniz. Daha fazla bilgi için bkz. C++ Dinamik Hata Ayıklama (Önizleme). VISUAL Studio'da anahtarı ayarlamanın avantajları vardır çünkü MSBuild, /GL ve /OPT:ICFgibi uyumsuz anahtarlardan bazılarını otomatik olarak gizler. Ayrıca ilgili bağlayıcı seçeneğini (/DYNAMICDEOPT) ayarlar. Anahtarı komut satırında da ayarlayabilirsiniz.

Bu derleyici seçeneğini program aracılığıyla ayarla

Ayrıca bkz.

C++ Dinamik Hata Ayıklama (Önizleme)
MSVC Derleyicisi Seçenekleri
MSVC Derleyicisi Komut Satırı Söz Dizimi