gpu kod hata ayıklama
Grafik işlemci birimi (gpu) çalıştırılan c++ kod hata ayıklaması yapabilirsiniz. gpu desteği Visual Studio'da hata ayıklama yarış algılama, işlemleri başlatmak ve onları ve hata ayıklama windows tümleştirmeye ekleme içerir.
Desteklenen platformlar
Debugging is supported on Windows 7, Windows 8, Windows Server 2008 R2, and Windows Server 2012. Yazılım öykünücüsü üzerinde hata ayıklama için Windows 8, veya Windows Server 2012 gereklidir. Donanım üzerinde hata ayıklama için ekran kartınızın sürücülerini yüklemeniz gereklidir. Tüm donanım satıcıları, tüm hata ayıklama özellikleri uygular. Sınırlamalar satıcı belgelerine bakın.
Not
Visual Studio'da hata ayıklama gpu desteği isteyen bağımsız donanım satıcıları hedefleri ve VSD3DDebug arabirimini uygulayan dll, kendi sürücüler oluşturmanız gerekir.
gpu hata ayıklama yapılandırma
Hata ayıklayıcı aynı app yürütme kodu gpu ve cpu kod kesemez. Varsayılan olarak, cpu kod hata ayıklayıcısı keser. gpu kod hata ayıklamak için aşağıdaki iki adımdan birini kullanın:
İçinde Hata ayıklama türü listesi, Standart araç, seçim Sadece gpu.
İçinde Çözüm Gezgini, proje için kısayol menüsünden seçin özelliklerini. İçinde Özellik sayfaları iletişim kutusunda seçin hata ayıklamave sonra seçin Sadece gpu , Hata ayıklayıcı türü listesi.
Başlatma ve uygulamalar için ekleme
gpu hata ayıklamayı durdurmak ve başlatmak için Visual Studio hata ayıklama komutlarını kullanabilirsiniz. Daha fazla bilgi için bkz. Visual Studio Hata Ayıklayıcıyı Başlatma, Kesme, Durdurma ve Bu Hata Ayıklayıcıya Gitme. Bu işlemin gpu kodu yürütür, gpu hata ayıklayıcı ancak yalnızca çalışan bir işlemi iliştirebilirsiniz. Daha fazla bilgi için bkz. Nasıl yapılır: bir çalışan işlemi Ekle.
İmleç ve Run to Cursor için geçerli döşemeyi çalıştırın
gpu üzerinde ayıklarken, imleç konumuna çalıştırmak için iki seçeneğiniz vardır. Kod Düzenleyicisi'nin kısayol menüsünde komutlar için iki seçenek kullanılabilir.
İmle imlecin geçerli konumuna ulaşır ve sonra keser kadar sizin app komutu çalıştırır. Bu, geçerli iş parçacığı için imleci çalıştığını göstermez; Bunun yerine, imleç noktasına ulaştığında ilk iş parçacığı sonu tetikler anlamına gelir. Daha fazla bilgi için bkz. [NIB] 12/13 Nasıl yapılır: İmleç Konumuna Gitme.
İçin imleç geçerli döşeme çalıştırmak tüm iş parçacıklarının geçerli döşemesinin imleç ve sonra sonu gelinceye kadar sizin app komutu çalıştırır.
Windows hata ayıklama
Belirli hata ayıklama windows kullanarak incelemek, bayrak ve gpu iş parçacıkları dondurma. Daha fazla bilgi için bkz:
İş parçacığı ve işlem(Hata ayıklama konum araç çubuğu)
Veri Eşitleme özel durumlar
Hata ayıklayıcı yürütme sırasında çeşitli veri eşitleme koşullar tanımlayabilirsiniz. Bir koşulu algılandığında, hata ayıklayıcı kesme durumuna girer. İki seçeneğiniz vardır —sonu veya devam. Kullanarak özel iletişim kutusunda, bu koşullar hata ayıklayıcı algılar ve ayrıca hangi koşulların onu için kesilir mi yapılandırabilir. Daha fazla bilgi için bkz. Özel durum işleme (hata ayıklama). Ayrıca seçenekleri yazılan verileri veri değeri değiştirmez, hata ayıklayıcı özel durumlar sayılmalıdır belirtmek için iletişim kutusu. Daha fazla bilgi için bkz. Genel, hata ayıklama, Seçenekler iletişim kutusu.
Sorun Giderme
Bir Hızlandırıcı belirtme
gpu kodundaki kesme noktalarını yalnızca kod çalışıyorsa isabet accelerator::direct3d_ref (ref) Hızlandırıcı. Bir Hızlandırıcı kodunuzda belirtmezseniz, ref Hızlandırıcı olarak otomatik olarak seçilir Hata ayıklama Hızlandırıcı türü Proje Özellikleri'nde. Kodunuzu açıkça bir Hızlandırıcı seçerse, ref Hızlandırıcı, hata ayıklama sırasında kullanılmayacak ve gpu donanım hata ayıklama desteği olmadıkça kesme gelinecek değil. Bu hata ayıklama sırasında ref Hızlandırıcı kullandığı için kodunuzu yazmaya çözmek. Daha fazla bilgi için bkz: Proje özellikleri ve Hızlandırıcı ve accelerator_view nesnelerini kullanma ve Hata ayıklama için bir C++ proje ayarları yapılandırma.
Koşullu kesme noktaları
Koşullu kesme noktaları gpu kod içinde desteklenir, ancak aygıtta her deyim değerlendirilebilir. Aygıtta bir ifade değerlendirilemez, hata ayıklayıcısını değerlendirilir. Hata ayıklayıcı aygıtı daha yavaş çalışmasına olasıdır.
Hata: Seçili hata ayıklama Hızlandırıcı türü olan bir yapılandırma sorunu var.
Proje ayarlarını ve yapılandırmasını, hata ayıklaması yaptığınız pc arasında bir tutarsızlık olduğunda bu hata oluşur. Daha fazla bilgi için bkz. Hata ayıklama için bir C++ proje ayarları yapılandırma.
Hata: Hata ayıklama sürücü seçili hata ayıklama Hızlandırıcı türü için hedef makinede yüklü değil.
Uzak bir bilgisayarda, hata ayıklaması yapıyorsanız, bu hata oluşur. Uzak bilgisayar üzerinde yüklü sürücüleri olup olmadığını hata ayıklayıcı çalışma zamanına kadar belirleyemiyor. Sürücüleri üreticisinden grafik kartı bulunmaktadır.
Hata: Zaman aşımı algılama ve Kurtarma (tdr) uzak sitede devre gerekir.
Windows zaman aşımı algılama ve kurtarma işlemi (tdr) tarafından ayarlanan varsayılan zaman aralığı aşan c++ amp hesaplamaları mümkündür. Bunu başardığınızda, hesaplama iptal edilir ve veriler kaybolur. Daha fazla bilgi için bkz: c++ amp içinde işleme TDRs.
Ayrıca bkz.
Görevler
İzlenecek yol: C++ amp uygulama hata ayıklama
Başvuru
Hata ayıklama için bir C++ proje ayarları yapılandırma