C++ hata ayıklama yapılandırması proje ayarları
Nasıl yapılır: Hata ayıklama ve yayın yapılandırmalarını ayarlama bölümünde açıklandığı gibi Özellik Sayfaları iletişim kutusunda C veya C++ hata ayıklama yapılandırmasının proje ayarlarını değiştirebilirsiniz. Aşağıdaki tablolarda, Özellik Sayfaları iletişim kutusunda hata ayıklayıcıyla ilgili ayarların nerede bulunacağı gösterilmektedir.
Dekont
Yapılandırma Özellikleri/Hata Ayıklama kategorisindeki hata ayıklama projesi ayarları, UWP uygulamaları ve C++ dilinde yazılmış bileşenler için farklıdır. Bkz . Hata ayıklama oturumu başlatma (VB, C#, C++ ve XAML).
Her hata ayıklama özelliği ayarı, çözümünüzü kaydettiğinizde otomatik olarak yazılır ve çözümünüz için "kullanıcı başına" dosyasına (.vcxproj.user) kaydedilir.
Aşağıdaki tabloda açıklandığı gibi, Hata Ayıklayıcı'nın başlatılacak liste kutusunda hangi hata ayıklayıcının kullanılacağını belirtin. Seçiminiz hangi özelliklerin görünür olduğunu etkiler.
Yapılandırma Özellikleri klasörü (Hata ayıklama kategorisi)
Ayar | Açıklama |
---|---|
Başlatacak hata ayıklayıcı | Aşağıdaki seçeneklerle çalıştırılacak hata ayıklayıcıyı belirtir: - Yerel Windows Hata Ayıklayıcısı - Uzak Windows Hata Ayıklayıcısı - Web Tarayıcısı Hata Ayıklayıcısı - Web Hizmeti Hata Ayıklayıcısı |
Komut (Yerel Windows Hata Ayıklayıcısı) | Yerel bilgisayarda hata ayıkladığınız programı başlatma komutunu belirtir. |
Uzak Komut (Uzak Windows Hata Ayıklayıcısı) | Uzak bilgisayardaki .exe dosyasının yolu. Yolu uzak makineye girdiğiniz gibi girin. |
Komut Bağımsız Değişkenleri (Yerel Windows Hata Ayıklayıcısı) Uzak Komut Bağımsız Değişkenleri (Uzak Windows Hata Ayıklayıcısı) |
- Daha önce belirtilen komutun bağımsız değişkenlerini belirtir. Bu kutuda aşağıdaki yeniden yönlendirme işleçlerini kullanabilirsiniz: < file Dosyadan stdin okur. > file dosyaya stdout yazar. >> file dosyaya stdout ekler. 2> file Dosyaya stderr yazar. 2>> file Dosyaya stderr ekler. 2> &1 stderr (2) çıkışını stdout (1) ile aynı konuma gönderir. 1> &2 stdout (1) çıkışını stderr (2) ile aynı konuma gönderir. Çoğu durumda, bu işleçler yalnızca konsol uygulamaları için geçerlidir. Komuttaki kaçış karakterlerine ihtiyacınız varsa, %25 gibi ASCII değerlerini kullanarak % değerini değiştirebilirsiniz. Hata Ayıklamayı Başlat komutunu kullanırsanız, çift tırnak işaretleri yerine <"<" gibi önceki komutlardan kaçar. |
Çalışma Dizini | EXE'nizin bulunduğu proje dizinine göre, hata ayıklanan programın çalışma dizinini belirtir. Bunu boş bırakırsanız, çalışma dizini proje dizinidir. Uzaktan hata ayıklama için proje dizini uzak sunucudadır. |
Ekle (Yerel Windows Hata Ayıklayıcısı ve Uzak Windows Hata Ayıklayıcısı) | Uygulamanın başlatılıp başlatılmayacağını veya uygulamaya eklenip eklenmeyeceğini belirtir. Varsayılan ayar Hayır'dır. |
Uzak Sunucu Adı (Uzak Windows Hata Ayıklayıcısı) | Bir uygulamada hata ayıklamak istediğiniz bilgisayarın (sizinkiler dışında) adını belirtir. RemoteMachine Derleme makro bu özelliğin değerine ayarlanır; daha fazla bilgi için bkz . Derleme komutları ve özellikleri için makrolar. |
Bağlan ion (Uzak Windows Hata Ayıklayıcısı) | Uzaktan hata ayıklama için standart ve kimlik doğrulaması olmayan bağlantı türleri arasında geçiş yapmanızı sağlar. Uzak Sunucu Adı kutusunda bir uzak bilgisayar adı belirtin. Bağlan türleri şunlardır: - Windows Kimlik Doğrulaması ile Uzak - Kimlik Doğrulaması Olmadan Uzak Not Kimlik Doğrulaması Yok ile uzaktan hata ayıklama uzak bilgisayarı güvenlik ihlallerine karşı savunmasız bırakabilir. Windows Kimlik Doğrulama modu daha güvenlidir. Daha fazla bilgi için bkz . Uzaktan hata ayıklama kurulumu. |
HTTP URL'si (Web Hizmeti Hata Ayıklayıcısı ve Web Tarayıcısı Hata Ayıklayıcısı) | Hata ayıkladığınız projenin bulunduğu URL'yi belirtir. |
Hata Ayıklayıcı Türü | Kullanılacak hata ayıklayıcısının türünü belirtir: Yalnızca Yerel, Yalnızca Yönetilen, Yalnızca GPU, Karma, Otomatik (varsayılan) veya Betik. - Yalnızca Yerel, yönetilmeyen C++ kodu içindir. - Yalnızca Yönetilen, ortak dil çalışma zamanı (yönetilen kod) altında çalışan kod içindir. - Karma , hem yönetilen hem de yönetilmeyen kod için hata ayıklayıcıları çağırır. - Derleyici ve EXE bilgilerine göre hata ayıklayıcı türünü otomatik olarak belirler. - Betik , betikler için bir hata ayıklayıcı çağırır. - Yalnızca GPU, bir GPU cihazında veya DirectX başvuru tarama aracında çalışan C++ AMP kodu içindir. Bkz . GPU kodunda hata ayıklama. |
Ortam (Yerel Windows Hata Ayıklayıcısı ve Uzak Windows Hata Ayıklayıcısı) | Hata ayıkladığınız programın ortam değişkenlerini belirtir. Standart ortam değişkeni söz dizimlerini kullanın (örneğin, PATH="%SystemRoot%\..." ). Bu değişkenler, Birleştirme Ortamı ayarına bağlı olarak sistem ortamını geçersiz kılar veya sistem ortamıyla birleştirilir. Sağ sütuna tıkladığınızda bir "Düzenle..." görüntülenir. Özellik Düzenleyicisi'ni açmak ve ortam değişkenlerini düzenlemek için bu bağlantıyı seçin. Birden çok ortam değişkeni eklemek için Özellik Düzenleyicisi'ni kullanın ve satır başına bir değişken ekleyin. |
Birleştirme Ortamı (Yerel Windows Hata Ayıklayıcısı) | Ortam kutusunda belirtilen değişkenlerin işletim sistemi tarafından tanımlanan ortamla birleştirilip birleştirilmeyeceğini belirler. Varsayılan ayar Evet'tir. |
SQL Hata Ayıklama (MPI Küme Hata Ayıklayıcısı dışında tümü) | Visual C++ uygulamanızdan SQL yordamlarında hata ayıklamayı etkinleştirir. Varsayılan ayar Hayır'dır. |
Hata Ayıklama Hızlandırıcısı Türü (yalnızca GPU hata ayıklama) | Hata ayıklama için kullanılacak GPU cihazını belirtir. Uyumlu GPU cihazları için cihaz sürücülerinin yüklenmesi ek seçenekler ekler. Varsayılan ayar GPU - Yazılım Öykünücüsü'dür. |
GPU Varsayılan Kesme Noktası Davranışı (yalnızca GPU hata ayıklama) | BIR SIMD warp içindeki her iş parçacığı için bir kesme noktası olayının tetiklenip tetiklenmemesi gerektiğini belirtir. Varsayılan ayar kesme noktası olayını warp başına yalnızca bir kez yükseltmektir. |
Amp Varsayılan Hızlandırıcısı | GPU kodunda hata ayıklarken varsayılan AMP hızlandırıcısını belirtir. Bir sorunun kodunuz yerine donanımdan mı yoksa sürücüden mi kaynaklandığından araştırmak için WARP yazılım hızlandırıcısı'nı seçin. |
Dağıtım Dizini (Uzak Windows Hata Ayıklayıcısı) | Proje çıkışının başlatılmadan önce kopyalanacağı uzak bilgisayardaki yolu belirtir. Yol, uzak bilgisayardaki bir ağ paylaşımı veya uzak bilgisayardaki bir klasörün yolu olabilir. Varsayılan ayar boş olduğundan proje çıkışı bir ağ paylaşımına kopyalanmaz. Dosyaların dağıtımını etkinleştirmek için Configuration Manager iletişim kutusunda Dağıt onay kutusunu da seçmeniz gerekir. Daha fazla bilgi için bkz . Nasıl yapılır: Yapılandırmaları oluşturma ve düzenleme. |
Dağıtılacak Ek Dosyalar (Uzak Windows Hata Ayıklayıcısı) | Dağıtım Dizini özelliği ayarlanırsa, bu, dağıtım dizinine kopyalanacak ek klasörlerin veya dosyaların noktalı virgülle ayrılmış listesidir. Varsayılan ayar boş olduğundan dağıtım dizinine başka klasör veya dosya kopyalanmz. Bir klasörün içeriğini Dağıtım Dizini'ndeki aynı klasöre kopyalamak için bir klasör adı belirtin. Dosyaların dağıtımını etkinleştirmek için Configuration Manager iletişim kutusunda Dağıt onay kutusunu da seçmeniz gerekir. Daha fazla bilgi için bkz . Nasıl yapılır: Yapılandırmaları oluşturma ve düzenleme. |
Visual C++ Hata Ayıklama Çalışma Zamanı Kitaplıklarını Dağıtma (Uzak Windows Hata Ayıklayıcısı) | Dağıtım Dizini özelliği ayarlanırsa, geçerli platform için Visual C++ hata ayıklama çalışma zamanı kitaplıklarının ağ paylaşımına kopyalanıp kopyalanmayacağını belirtir. Varsayılan ayar Evet'tir. |
C/C++ klasörü (Genel kategori)
Ayar | Açıklama |
---|---|
Hata Ayıklama Bilgileri Biçimi (/Z7, /Zd, Zi, /ZI) | Proje için oluşturulacak hata ayıklama bilgilerinin türünü belirtir. Varsayılan seçenek (/ZI), Düzenle ve Devam Et uyumlu biçimde bir program veritabanı (PDB) oluşturur. Daha fazla bilgi için bkz . /Z7, /Zd, /Zi, /ZI (Hata ayıklama bilgileri biçimi). |
C/C++ klasörü (İyileştirme kategorisi)
Ayar | Açıklama |
---|---|
İyileştirme | Derleyicinin ürettiği kodu iyileştirmesi gerekip gerekmediğini belirtir. İyileştirme, yürütülen kodu değiştirir. İyileştirilmiş kod artık kaynak kodla eşleşmediğinden hata ayıklamayı daha zor hale getirir. Varsayılan seçenek (Devre dışı (/0d)) iyileştirmeyi bastırır. İyileştirme gösterilmeden geliştirebilir ve kodunuzun üretim sürümünü oluşturduğunuzda bu özelliği açabilirsiniz. |
Bağlayıcı klasörü (Hata ayıklama kategorisi)
Ayar | Açıklama |
---|---|
Hata Ayıklama Bilgisi Oluşturma (/DEBUG) | Bağlayıcıya , /Z7, /Zd, Zi veya /ZI tarafından belirtilen biçime sahip olacak hata ayıklama bilgilerini eklemesini söyler. |
Program Veritabanı Dosyası Oluştur (/PDB:name) | Bu kutuda program veritabanı (PDB) dosyasının adını belirtin. Hata Ayıklama Bilgileri Biçimi için ZI veya /Zi seçmelisiniz. |
Özel Simgeleri Şeritle (/PDBSTRIPPED:filename) | PDB dosyasına özel simgeler eklemek istemiyorsanız, bu kutuda PDB dosyasının adını belirtin. Bu seçenek, program görüntünüzü /DEBUG, /Z7, /Zd gibi bir PDB dosyası oluşturan derleyici veya bağlayıcı seçenekleriyle oluşturduğunuzda ikinci bir PDB dosyası oluşturur. Veya /Zi. Bu ikinci PDB dosyası, müşterilerinize göndermek istemediğiniz simgeleri atlar. Daha fazla bilgi için bkz . /PDBSTRIPPED (Özel simgeleri şeritle). |
Harita Dosyası Oluştur (/MAP) | Bağlayıcıya bağlantı sırasında bir eşleme dosyası oluşturmasını söyler. Varsayılan ayar Hayır'dır. Daha fazla bilgi için bkz . /MAP (Mapfile Oluşturma). |
Dosya Adını Eşle (/MAP:name) | Harita Dosyası Oluştur'u seçerseniz, harita dosyasını bu kutuda belirtebilirsiniz. Daha fazla bilgi için bkz . /MAP (Mapfile Oluşturma). |
Dışarı Aktarmaları Eşleme (/MAPINFO:EXPORTS) | Harita dosyasına dışarı aktarılan işlevleri içerir. Varsayılan ayar Hayır'dır. Daha fazla bilgi için bkz . /MAPINFO (Mapfile'a Bilgi Ekle). |
Hata Ayıklanabilir Derleme (/ASSEMBLYDEBUG) | Bağlayıcı /ASSEMBLYDEBUG seçeneğinin ayarlarını belirtir. Olası değerler şunlardır: - Hata ayıklanabilir öznitelik belirtilmemiş. - Çalışma zamanı izleme ve iyileştirmeleri devre dışı bırakma (/ASSEMBLYDEBUG). Bu varsayılan ayardır, - Çalışma zamanı izlemesi yok ve iyileştirmeleri etkinleştirin(/ASSEMBLYDEBUG:DISABLE). - <üst öğeden veya proje varsayılanlarından devralın>. - Daha fazla bilgi için bkz . /ASSEMBLYDEBUG (DebuggableAttribute Ekleme). |
Bu ayarları Yapılandırma Özellikleri klasöründe (Hata ayıklama kategorisi) Microsoft.VisualStudio.VCProjectEngine.VCDebug Ayarlar arabirimini kullanarak program aracılığıyla değiştirebilirsiniz. Daha fazla bilgi için bkz. VCDebugSettings.
Diğer proje ayarları
Statik kitaplıklar ve DLL'ler gibi proje türlerinin hatalarını ayıklamak için Visual Studio projenizin doğru dosyaları bulabilmesi gerekir. Kaynak kodu kullanılabilir olduğunda, hata ayıklamayı kolaylaştırmak için statik kitaplıkları ve DLL'leri aynı çözüme ayrı projeler olarak ekleyebilirsiniz. Bu proje türlerini oluşturma hakkında bilgi için bkz . Dinamik Bağlantı Kitaplığı (DLL) oluşturma ve kullanma ve Statik kitaplık kullanarak oluşturma. Kaynak kodu kullanılabilir durumda olduğunda, Mevcut Koddan Dosya>Yeni Proje'yi seçerek yeni>bir Visual Studio projesi de oluşturabilirsiniz.
Projenizin dışındaki DLL'lerde hata ayıklamak için bkz . DLL projelerinin hatalarını ayıklama. Kendi DLL projenizde hata ayıklamanız gerekiyorsa ancak çağıran uygulama için projeye erişiminiz yoksa bkz . DLL projesinde hata ayıklama.