Aracılığıyla paylaş


C++ hata ayıklama yapılandırması için proje ayarları

Özellik Sayfaları iletişim kutusunda Nasıl Yapılır: Hata Ayıklama ve Sürüm Yapılandırmalarını Ayarlamabölümünde açıklandığı gibi, C veya C++ hata ayıklama yapılandırması için 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.

Not

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. hata ayıklama oturumu başlatma (VB, C#, C++ ve XAML) bakın.

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ısı'nda hangi hata ayıklayıcının liste kutusunu başlatacağı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
Hata Ayıklayıcı başlatmak için 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 için yol. Yolu, uzaktaki makineye girdiğiniz gibi girin.
Komut Argümanları (Yerel Windows Hata Ayıklayıcısı)

Uzak Komut Bağımsız Değişkenleri (Uzak Windows Hata Ayıklayıcısı)
- Hata ayıkladığınız programın bağımsız değişkenlerini belirtir. Komut satırı bağımsız değişkenlerini ayarlama yolları hakkında daha fazla bilgi için bkz. Komut satırı bağımsız değişkenlerini hata ayıklayıcıya (C++) gönderme.

Bu kutuda aşağıdaki yeniden yönlendirme işleçlerini kullanabilirsiniz:

< file
Dosyadan stdin okur.

> file
stdout'u dosyaya yazar.

>> file
stdout çıktısını dosyaya 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.

komutunda kaçış karakterlerine ihtiyacınız varsa, %değiştirmek için %25 gibi ASCII değerlerini kullanabilirsiniz. Hata Ayıklamayı Başlat komutunu kullanırsanız, <yerine "<" gibi önceki komutlarda çift tırnak kullanılır.
ç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 bağlanıp bağlanılmayacağını 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 makrosu, bu özelliğin değerine ayarlanır; daha fazla bilgi için bkz. derleme komutları ve özellikleri için makrolar .
Bağlantı (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ğlantı türleri şunlardır:

- Windows Kimlik Doğrulaması ile Uzak
Kimlik Doğrulaması Olmadan Uzak -

Not Kimlik Doğrulaması Olmadan 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 (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ısı 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.

- Yerel Sadece 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.
- Otomatik, derleyici ve EXE bilgilerine göre hata ayıklayıcı türünü belirler.
- Komut Dosyası komut dosyaları için bir hata ayıklayıcıyı çalıştırır.
- GPU Yalnızca, bir GPU cihazında veya DirectX referans rasterizer'ı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 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ştirileceğini belirler. Varsayılan ayar Evet'tir.
SQL Hata Ayıklama (MPI Kümesi 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ülerini yüklemek ek seçenekler ekler. Varsayılan ayar GPU - Yazılım Öykünücüsü'dir.
GPU Varsayılan Kesme Noktası Davranışı (yalnızca GPU hata ayıklaması) SIMD warp içindeki her bir iş parçacığı için bir kesme noktası olayının tetiklenip tetiklenmeyeceğ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ı 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 kaynak olduğunu araştırmak için WARP yazılım hızlandırıcısı seçin.
Dağıtım Dizini (Uzak Windows Hata Ayıklayıcısı) Proje çıkışının başlatılmadan önce kopyalandığı 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 kopyalanmıyor demektir. 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ırma 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ırma 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)

Ayarlar 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 bilgi biçimi).

C/C++ klasörü (İyileştirme kategorisi)

Ayarlar Açıklama
Optimizasyon 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 gizler. Optimizasyonu kapatarak geliştirme yapabilir ve kodunuzun üretim sürümünü oluşturduğunuzda bunu açabilirsiniz.

Bağlayıcı klasörü (Hata ayıklama kategorisi)

Ayarlar Açıklama
Hata Ayıklama Bilgisi Oluşturma (/DEBUG) Bağlayıcıya /Z7, /Zd, Zi veya /ZItarafından belirtilen biçime sahip hata ayıklama bilgilerini eklemesini bildirir.
Program Veritabanı Dosyası Oluşturma (/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 Sembolleri Çıkar (/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 sembolleri çıkart).
Eşleme 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ştur).
Harita Dosya Adı (/MAP:ad) Harita Dosyası Oluştur'u seçerseniz, harita dosyasını bu kutuda belirtebilirsiniz. Daha fazla bilgi için bkz. /MAP (Mapfile Oluştur).
Harita Dışa Aktarımları (/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 (Bilgileri Mapfile'a 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 yayınlanmadı.
Çalışma zamanı izleme - veiyileştirmelerini devre dışı bırakın (/ASSEMBLYDEBUG). Bu varsayılan ayardır,
- Çalışma zamanı izlemesi yok veiyileştirmeleri (/ASSEMBLYDEBUG:DISABLE) etkinleştirin.
- <üst öğeden veya proje varsayılanlarından devralır>.
- Daha fazla bilgi için bkz. /ASSEMBLYDEBUG (Add DebuggableAttribute).

Bu ayarları Yapılandırma Özellikleri klasöründe (Hata ayıklama kategorisi) Microsoft.VisualStudio.VCProjectEngine.VCDebugSettings 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 oluşturma ve kullanma. Kaynak kodu kullanılabilir durumda olduğunda, Dosya>Varolan Koddan Yeni>Projesi'i 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 projesinden hata ayıklama.

Ayrıca bkz.