Bağımlılık Grafiklerinde Kod Bağımlılıklarını Görselleştirme
Kodunuzu ve bağımlılıklarından kuruluşu anlamak ve görmek için bağımlılık grafikleri Visual Studio Ultimate oluşturabilirsiniz. Bağımlılık grafikler nelerdir ve nasıl işinize yarar?
Desteklenen projeler:
Windows Store apps ve derleme (.dll veya .exe) dosyaları da dahil olmak üzere visual C# .net ve Visual Basic .net projeleri.
c veya C++ kodu (yönetilen veya yerel) olan Windows Store apps dahil olmak üzere, visual C++ projeleri, üstbilgi dosyaları (.h ya da #include) ve ikili dosyalar.
Videolar:
Bu konuda
Nasıl başlayabilirim?
Kodunuzda bağımlılıkları görselleştiren
Bağımlılık grafikler paylaşımı
Toplu işlem için grafikler oluşturmak
Sorun Giderme
Nasıl başlayabilirim?
Çözümünüzün genel bir görünümünü almak: üzerinde mimarisi menüsünden seçin Baðýmlýlýk grafiði üretmek, İçin çözüm.
Üst düzey derlemeler gösteren bir grafik alın. Şimdi, bu derlemeleri genişleterek tarafından da gözden geçirebilirsiniz. Derleme üzerine fare işaretçisini hareket ettirmek ve köşeli çift ayracı seçin (^) düğmesi göründüğünde. Ad alanlarý, türleri ve üye kodunuzu araştırma devam etmek için aynı yapın.
Bağımlılıkları gruplarında görmek için grafikteki bir öğeyi seçin.
Daha fazla bilgi için bkz: çözümünüzün genel bir görünümünü almak. Kodunuzda olası sorunları bulmak için Çözümleyicileri da çalıştırabilirsiniz. Bkz: Bağımlılık Grafiklerindeki Kodda Olası Sorunları Bulma
Belirli bağımlılıkları çözümünüzdeki görselleştirmek: de Solution Explorer'da, sizi ilgilendiren öğeleri seçin. Projeler, derleme başvuruları, klasörleri, dosyaları, türleri ve üyeleri seçebilirsiniz. Belirli bir öðeyi bulmak için Solution Explorer'da arama kutusu.
Üzerinde Solution Explorer'da araç, seçim Yeni grafik belge oluşturma.
- veya -
Öğeleri sürükleyin Solution Explorer'da için varolan bir grafik.
İpucu
Boş bir grafik oluşturmak için dosyasını menüsünden seçin Yeni, Dosya, Yöneltilen grafik belge.Maddelerinizi üst öğe hiyerarşisine dahil etmek için basılı ctrl öğeleri sürüklerken anahtar.
Seçilen öğeleri gösteren bir grafik alın. Şimdi, bu öğeleri genişleterek tarafından da gözden geçirebilirsiniz. Fare işaretçisi bir öğenin üzerine taşıyın ve köşeli çift ayracı seçin (^) düğmesi göründüğünde.
Daha fazla bilgi için bkz: görsel öğe belirli bağımlılıkları çözümünüzdeki. Kodunuzda olası sorunları bulmak için Çözümleyicileri da çalıştırabilirsiniz. Bkz: Bağımlılık Grafiklerindeki Kodda Olası Sorunları Bulma
Bağımlılık grafikler nelerdir ve nasıl işinize yarar?
Bağımlılık grafikler kodunu inceleyin ve dosya ve kod satırları arasında aramak zorunda kalmadan kendi bağımlılıkları anlamak için görsel bir yol sağlar. Öğeleri ve ilişkileri yalnızca düğümler ve bağlantılar veya okları görebilirsiniz. Örneğin, gerçekleştirmek için kod gözden geçirme olduğunu varsayalım. Bekleyen değişiklikleri içeren dosya kümesi vardır. Bu dosyalardan bir baðýmlýlýk grafiði oluşturarak kodunu ve bu değişiklikler için bağımlılıkları görselleştirmek. Bkz: görsel öğe belirli bağımlılıkları çözümünüzdeki.
Varsayılan olarak, konteyner ilişkiler olarak temsil Gruplar, genişletme ve daraltma.
İpucu
Yeniden getirmesi çocuklar düğmesini kod içinde var, ancak grafikte görünmüyor Grup üyeleri almak sağlar.Daha kolay görebilmek için biz farklı bir stil çağrıları bağlantılar da uygulamış olduğunuz.Bkz: Bağımlılık Grafiklerini Düzenleme ve Özelleştirme
Kapsayıcı ilişkileri bağlantılar olarak da görüntüleyebilirsiniz. Grafik için kısayol menüsünü açın, seçim Grup, Gruplama devre dışı:
Kodunuzda olası sorunları bulmak için Çözümleyicileri da çalıştırabilirsiniz. Bkz: Bağımlılık Grafiklerindeki Kodda Olası Sorunları Bulma
Visual Studio, ilk kez bir baðýmlýlýk grafiði üretirken bulduğu tüm bağımlılıkları dizin oluşturur. Bu işlem, özellikle büyük çözümler ya da birçok bağlantılar içeren grafikler için biraz zaman alabilir. Ancak, dizin sonraki işlemlerinin performansını artırır. Visual Studio, kod değişirse, güncelleştirilmiş kod reindexes.
Grafik oluşturmak için beklemek istemiyorsanız, bu adımı herhangi bir anda iptal etmek ve aşağıdaki önerileri deneyin:
Yalnızca sizi ilgilendiren bağımlılıklar grafiği.
Tüm bir çözüm için grafik oluşturmadan önce çözüm kapsamı azaltın.
Visual Studio, 1 gb bellek çalıştırabilirsiniz, ancak bilgisayarınızda en az 2 Visual Studio kod dizini oluştururken ve grafik oluşturur uzun gecikmeler önlemek için GB'ye kadar bellek olması önerilir.
Not
En az bir proje başarıyla oluşturur, visual Studio bir grafik oluşturur.Yalnızca başarılı bir şekilde oluşturur kodu için bağımlılıkları gösterir.Yapı belirli bileşenleri oluşursa, bu bileşenlerin hataları grafik üzerinde görünür.Bir bileşen aslında oluşturur ve grafik üzerinde temel mimari kararlar önce bağımlılıkları üzerinde bulunduğundan emin olun.
Grafikler oluşturmak ya da Solution Explorer'da proje öğesi, kullanıcının öğeleri eklemek için daha fazla zaman alabilir çıktı dizine kopyalayın özelliği ayarlanmış Her zaman kopya.Artımlı yapılar ve projenin her seferinde yeniden oluşturmak için Visual Studio ile bu sorunlara neden olabilir.Performansı artırmak için bu özelliği değiştirmek Yeni kopyalayın veya PreserveNewest.Bkz: Artımlı oluşturur
Kodunuzda bağımlılıkları görselleştiren
Kodunuzu özetini elde etmek
Görselleştirmenize kodunuzda belirli bağımlılıkları
Görselleştirmenize c veya C++ kaynak dosyalarını ve üstbilgi dosyaları arasındaki bağımlılıkları
Toplu işleme GraphCmd.exe kullanarak grafikler oluşturma
İpucu
C++ için daha kapsamlı grafikler oluşturmak için projeler, browse bilgileri derleyici seçeneği (/FR) bu projelerde ayarlamanız gerekir.Aksi halde, bir ileti görüntülenir ve bu seçeneği ayarlamak isteyip istemediğinizi sorar.İleti görüntülenirse, geçerli grafik seçeneğini seçerek ayarlayabilirsiniz Tamam, ya da seçenek kümesi ve sonraki tüm grafikler için iletiyi gizle.İletinin sonraki grafikler için görünür yapmak için aşağıdaki kayıt defteri anahtarını ayarlamak 0 veya anahtarını silin:
HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\11.0\NativeProvider : AutoEnableSbr
Kodunuzu özetini elde etmek
Tüm çözümünüzün bir baðýmlýlýk grafiði oluşturabilirsiniz veya derlemeler veya ikili dosyaları için.
Çözüm Özeti
Üzerinde mimari menüsünden seçin Baðýmlýlýk grafiði üretmek, İçin çözüm.
Üst düzey Derlemeler ve aralarında toplanan bağlantı gösteren bir grafik alın. Toplam bağlantı kalınlığını bağlantıyı temsil eden tek tek kaç bağımlılıkları gösterir. Externals Grup platform bağımlılıkları da dahil olmak üzere, çözümünüzü dışındaki her şeyi içerir. Dış birleştirmeler kullanılan öğeleri gösterir.
Şimdi, bu derlemeleri genişleterek tarafından da gözden geçirebilirsiniz. Derleme üzerine fare işaretçisini hareket ettirmek ve köşeli çift ayracı seçin (^) düğmesi göründüğünde. (Klavye: öğesini seçin ve ardından Seç artı (+) tuşuna.) Ad alanlarý, sınıflar ve üye kodunuzu araştırma devam etmek için aynı yapın.
Bir öğe veya bağlantı hakkında daha fazla bilgi almak için bir araç ipucu görüntülenene kadar işaretçiyi öğenin üzerine taşıyın.
Maddeler ve bağımlılık toplama bağlantı tarafından sunulan incelemek için önce bağlantıyı seçin ve kısayol menüsünü açmak. Seçim Göster, Contributing bağlantılar geçerli diyagramındaki veya Yeni bir diyagram Contributing bağlantıları.
Visual Studio, bağlantının her iki ucundaki grupları genişletir ve bağlantıyı yalnızca öğeleri ve katılmak bağımlılıkları gösterir. Kod içinde var ancak bir gruptan eksik öğeleri görmek için Yeniden getirmesi çocuklar.
Bakın:
Derlemeler veya ikili özetini elde etmek
Boş bir grafik oluşturmak, ya da varolan bir grafik (.dgml dosyası) açın. Visual Studio dışında derlemeler veya ikili grafiğe sürükleyin.
Not
Yalnızca Windows Gezgini ve Visual Studio aynı kullanıcı erişim denetimi (uac) izin düzeyini çalıştırıyorsanız, Windows Gezgini'nden derlemeler veya ikili dosyalar sürükleyebilirsiniz.Örneğin, UAC'yi açık ve Visual Studio yönetici olarak çalıştırmanın, sonra Windows Gezgini sürükleme işlemini engeller.Bu sorunu gidermek için Visual Studio yönetici olarak çalıştığından emin olun veya uac devre dışı bırakın.Windows 8'de dosya Explorer Windows Gezgini olduğunu unutmayın.
-veya-
Üzerinde mimari menüsünden seçin Windows, Mimari Explorer.
İlk sütundaki altında Dosya sistemi, seçim Dosyaları Seç.
İçinde açık kutusuna, bulmak ve derlemeler veya ikili dosyaları seçin. Seçim açık sonraki sütuna eklemek için Mimari Explorer.
İçinde Mimari Explorer, derlemeler veya ikili dosyaları seçin.
Seçili derlemeler veya ikili dosyalarını içeren sütunun sağına genişletmek için daraltılmış eylem sütunu seçin.
İpucu
İşaretçiyi üzerine getirdiğinde daraltılmış eylem sütununda vurgulanmış olarak görünür.
Eylem sütunundaki altında komutları, seçim açık bir baðýmlýlýk grafiði üretmek için.
Boş bir grafik oluşturmak için
Yeni boş bir grafik, çözümünüz için üzerinde eklemeden açmak için Dosya menüsünden seçin Yeni, Dosya.
-veya-
Boş bir grafik eklemek için Solution Items yapıtlarını, çözümünüzdeki üst düzey çözüm düðümü için kısayol menüsü. Seçim ekleme, New Item.
Altında yüklü, seçim Genel.
Sağ bölmede seçin Yöneltilen grafik belge.
Bir model projeden için boş bir grafik ekleyebilirsiniz mimari menüsünü seçerek Yeni Diyagram.
Görselleştirmenize kodundaki belirli bağımlılıkları
Çözüm içinde belirli maddeler için bir baðýmlýlýk grafiði oluşturabilirsiniz veya Derlemeler ve ikili.
Görselleştirmenize çözümünüzdeki belirli bağımlılıkları
İçinde Solution Explorer'da, sizi ilgilendiren öğeleri seçin. Projeler, derleme başvuruları, klasörleri, dosyaları, türleri ve üyeleri seçebilirsiniz. Belirli bir öðeyi bulmak için Solution Explorer'da arama kutusu.
İpucu
Türleri veya üyeleri bağımlı öğeleri bulmak için türü veya üye için kısayol menüsünü açın Solution Explorer'da.Bağımlılık türü seçin.Solution Explorer'da belirttiğiniz bağımlılığı olan maddeleri gösterir.Sonuçları seçin.
Maddelerinizi ve üyeleri üzerinde grafiğini oluşturmak Solution Explorer'da araç, seçim Yeni grafik belge oluşturma.
-veya-
Üst hiyerarşi grafiğinde dahil etmek için açık ... yeni grafik belge oluşturma listesi, Solution Explorer araç, daha sonra seçim Öncüleri olan yeni bir baðýmlýlýk grafiði.
İpucu
Grafik öğeleri de sürükleyebilirsiniz.İlk olarak, boş bir grafik oluşturmak ya da varolan bir grafik (.dgml dosyası) açın.Üst kapsayıcı hiyerarşi dahil etmek için basılı ctrl öğeleri sürüklerken anahtar.
Seçilen öğeleri gösteren bir grafik alın.
Maddeleri keşfetmek için bunları genişletebilirsiniz. Fare işaretçisi bir öğenin üzerine taşıyın ve sonra chevron seçin (^) düğmesi göründüğünde. Tüm öğeleri genişletmek için grafik için kısayol menüsünü açın. Seçim Grup, Tümünü Genişlet.
Not
Tüm grupları genişletme kullanılamaz bir grafik veya bellek sorunları oluşturur, bu komut kullanılamaz.
Bir gruptan eksik öğeleri almak için Yeniden getirmesi çocuklar grubunun içine.
Grafik üzerinde olanlara ilgili daha fazla öğeleri görmek için öğe için kısayol menüsünü açın. Seçim Show ve sizi ilgilendiren öğeleri arasındaki ilişki.
Bir derleme için seçin:
Başvurulmuş Derlemeler
Bu derleme başvuran derlemeler ekleyin. Dış birleştirmeler görünür Externals grubu.
Başvurulan derlemeler
Derlemeler çözümde bu derleme başvurusu ekleyin.
Bir sınıf için seçin:
Temel türler
Bir sınıf için temel sınıf ve uygulanan arabirimlerini ekleyin.
Bir arabirim için temel arabirimlerini ekleyin.
Türemiş türler
Bir sınıfın türetilmiş sınıfları ekleyin.
Bir arabirim için türetilmiş arabirimleri ve uygulama sınıf ya da yapının ekleyin.
Tüm temel türleri
Temel sınıf ekleyebilir veya Sýradüzeninde yineleyerek arabirim.
Tüm türetilen türler
Bir sınıfın türetilmiş sınıfları yinelemeli ekleyin.
Bir arabirim için türetilmiş arabirimleri ve uygulama sınıf ya da yapının yinelemeli olarak ekleyin.
İçerik hiyerarşisi
Üst kapsayıcı hiyerarşi ekleyin.
Kullanılan türleri
Tüm sınıf ve bu sınıfın kullandığı üyeleri ekleyin.
Tarafından kullanılan türleri
Tüm sınıflar ve bu sınıfın kullanan üyeleri ekleyin.
İçin bir yöntem seçin:
İçerik hiyerarşisi
Üst kapsayıcı hiyerarşi ekleyin.
Aranan yöntemleri
Bu yöntem çağrıları yöntemleri ekleyin.
Olarak adlandırılan yöntemleri
Bu yöntemi çağırın yöntemleri ekleyin.
Temel türler geçersiz kılınmış yöntemler
Diğer yöntemleri geçersiz kılar veya bir arabirim yöntemi uygulayan bir yöntem için tüm soyut veya sanal yöntemleri geçersiz kılınır ana sınıflarda ekleyin ve varsa olan arabirim yöntemi uygulanır.
Başvurulan alanlar
Bu yönteme başvuran alanları ekleyin.
Bir alan için seçin:
İçerik hiyerarşisi
Üst kapsayıcı hiyerarşi ekleyin.
Başvuru yöntemleri
Bu alana başvuru yöntemleri ekleyin.
Bakın:
Görselleştirmenize derlemeler veya ikili dosyalar belirli bağımlılıkları
Üzerinde mimari menüsünden seçin Windows, Mimari Explorer.
İlk sütundaki altında Dosya sistemi, seçim Dosyaları Seç.
İçinde açık kutusuna, bulmak ve derlemeler veya ikili dosyaları seçin. Seçim açık sonraki sütuna eklemek için Mimari Explorer.
Sonraki sütundaki derlemeler veya ikili dosyaları seçin.
Varsayılan olarak, sonraki sütuna göre seçilen maddeler bulunan öğeleri gösterir.
İpucu
Diğer ilgili öğeleri seçmek için seçiminizi sütununun sağındaki daraltılmış sütununu genişletin.Altında Düğümü gezinti, sizi ilgilendiren öğe türlerini seçin.Altında Giden gezinti veya Gelen gezinti, sizi ilgilendiren ilişki türlerini seçin.Bkz: Mimari Gezgini ile Kod Bulma
Bulmak ve grafik üzerinde koymak istediğiniz tüm öğeleri seçin.
Yeni bir grafik oluşturmak için Mimari Explorer araç, seçim tüm düğümlerdeki seçilen yeni grafik belge oluşturma.
Visual Studio, grafiği oluşturur ve açar.
-veya-
Seçiminize eklemek için aşağıdaki adımları izleyin:
Grafiğin .dgml dosyasını açın veya boş bir grafik oluşturmak.
Üzerinde Mimari Explorer aracı çubuk, seçim görünen grafik belgeye seçili düğüm eklemek.
-veya-
Öğeleri sürükleyin Mimari Explorer grafik için.
Görselleştirmenize c ve C++ kaynak dosyalarını ve üstbilgi dosyaları arasındaki bağımlılıkları
Arasındaki bağımlılıkları görmek için |
Bunu yapmak |
---|---|
Tüm kaynak dosyalarını ve çözümdeki üstbilgi dosyaları |
Üzerinde mimari menüsünden seçin Baðýmlýlýk grafiði üretmek, İçerme dosyası için. |
Açık dosya ve ilgili kaynak dosyalarını ve üstbilgi dosyaları |
|
Not
Visual C++ özellikleri içeren bir çözümü açtığınızda, IntelliSense veritabanýný güncelleþtirmek için biraz zaman alabilir.Bu süre boyunca, başlığı için bağımlılık grafikler oluşturmak mümkün olmayabilir (.h ya da #include) IntelliSense veritabanı güncelleştiriliyor bitene kadar dosyaları.Visual Studio durum çubuğunda güncelleştirme ilerlemesini izleyebilirsiniz.Sorunları ya da belirli IntelliSense ayarları devre dışı bırakıldığı için görüntülenen iletileri çözümlemek için bkz: sorun giderme.
Bağımlılık grafikler paylaşımı
Kaydet ve grafik Visual Studio diğer kullanıcılarla paylaşma
Use dosyasını grafik kaydetmek için menü.
-veya-
Grafiği belirli bir projenin parçası kaydetmek için grafiği yüzey için kısayol menüsünü açın. Seçim Taşı <DependencyGraphName.dgml> içine hem de grafiği kaydetmek istediğiniz yeri projesi.
Visual Studio, graph Visual Studio Ultimate, Visual Studio Premium ve Visual Studio Professional başka kullanıcılarla paylaşabileceğiniz bir .dgml dosyası olarak kaydeder.
Not
Bir grafik kullananlar ile Visual Studio Premium ve Visual Studio Professional paylaşmadan önce herhangi bir grubu genişletin, gizli düğümlerini göstermek ve siteler arası grubu bağlantıları ve diğerlerinin sizin grafikte görmek istediğiniz silinen tüm düğümleri almak emin olun.Aksi halde, diğer kullanıcıların bu öğeleri görmek kullanamazsınız.
Bir modelleme projesinde olan ya da bir modelleme projesinden başka bir konuma kopyalanan bir grafiği kaydettiğinizde aşağıdaki hata ortaya çıkabilir:
"fileName proje dizininin dışına kaydedilemez.Bağlantılı öğeler desteklenmez."
Visual Studio hata gösterir, ancak yine de kaydedilmiş sürümünü oluşturur.Hatayı önlemek için grafiği modelleme projesinin dışında oluşturun.Sonra istediğiniz konuma kaydedebilirsiniz.Sadece çözümdeki başka bir konuma dosya kopyalama ve sonra onu kaydetmeye çalışmak başarısızlıkla sonuçlanacaktır.
Microsoft Word veya PowerPoint gibi diğer uygulamalara kopyalamak içib grafiği resim olarak verme
Grafik yüzey için kısayol menüsünü açın. Seçim düzenleme, resim kopyalama.
Resmi başka bir uygulamaya yapıştırın.
Internet Explorer gibi xml ya da xaml görüntüleyicileri görebilmek için grafik xps dosyası olarak dışa aktarma
Grafik yüzeyinden kısayol menüsünü açın. Seçim xps Kaydet.
İçinde Farklı Kaydet iletişim kutusunda, dosyayı kaydetmek istediğiniz yeri için Gözat.
Grafik adı. Emin olun türü kutusunu ayarlayın xps dosyaları (*.xps). Seçim kaydetmek.
Toplu işlem için grafikler oluşturmak
Grafik belgeleri (.dgml dosyaları) kullanarak toplu iş modunda oluşturabilirsiniz GraphCmd.exe komut satırı aracı. Örneğin, aracı her yapı sonra değişmiş Bul bağımlılıkları yapılar arasında çalıştırabilirsiniz. Bu aracı bulmak için aşağıdaki klasöre bakın: C:\Program Files\Microsoft Visual Studio 11.0\Common7\IDE.
Not
GraphCmd.exe yalnızca .net kod destekler ve bağımlılık bilgilerini derlemeler veya .dgml dosyalar için kaynak, Visual Studio çözüm ya da proje dosyalarındaki kod üretir.dgql sorguları eylemler için destek sınırlı, bu nedenle dış Visual Studio GraphCmd.exe çalışır.
GraphCmd.exe için aşağıdaki sözdizimini kullanın:
GraphCmd -? -all -exceptions -input File_Name -query File_Name -exec "DGQL_Statement" -output File_Name -path alias=path
İpucu
Aşağıdaki seçenekleri birden çok kez belirleyebilirsiniz: -input, -query, -exec ve -path.
Aşağıdaki tablo GraphCmd.exe için seçenekleri tanımlar:
-? |
GraphCmd.exe için yardım konularını görüntüleyin. |
-all |
Sadece son düğüm kümesinin değil, tüm ara sorguların sonuçlarını içerir. |
-exceptions |
Sorgu istisnalarını grafik belgesi (.dgml) dosyası olarak raporlayın. |
-input File_Name |
Belirtilen .dgml dosyasını işleyin. Bu, büyük .dgml dosyasının son işlem ve böylece, onu daha kolay Visual Studio'da görselleştirmek filtreleme için yararlıdır. |
-query File_Name |
Belirtilen Yönlendirilmiş Grafik Sorgu Dili (DGQL veya.dgql) dosyasını çalıştırın. Bakın:
|
-exec "DGQL_Statement" |
Belirtilen DGQL deyimini çalıştırın. Bkz: anlama yönlendirilmiş grafik sorgu dili (dgql). |
-output File_Name |
Belirtilen .dgml dosyasını çıktı olarak ver. |
-path takma ad=yol |
DGML belgelerinin girdi ve çıktısında kullanılacak yeni bir diğer ad belirtin. Örne?in:
Bkz: diğer sık kullanılan yolları için. |
Sık kullanılan yolları için diğer adlar
Yaygın olarak kullanılan yolların takma adları, .dgml dosyasının boyutunu ve dosyayı yüklemek veya kaydetmek için gereken süreyi azaltır. Bir diğer ad oluşturmak için .dgml dosyasının sonundaki bölüme bir <Paths></Paths> öğesi ekleyin. Bu bölümde, yolun eş yolunu tanımlamak için bir <Path/> öğesi ekleyin:
<Paths>
<Path Id="MyPathAlias" Value="C:\...\..." />
</Paths>
Bir .dgml dosyasındaki bir öğeden diğer ada başvuru yapmak için <Path/> öğesinin Id değerini bir dolar işareti ($) ve parantez (()) arasına koyun:
<Nodes>
<Node Id="MyNode" Reference="$(MyPathAlias)MyDocument.txt" />
</Nodes>
<Properties>
<Property Id="Reference" Label="My Document" DataType="System.String" IsReference="True" />
</Properties>
.Dgml dosyaları düzenlemek için bkz: Bağımlılık Grafiklerini Düzenleme ve Özelleştirme.
Yönlendirilmiş Grafik Sorgu Dilini (DGQL) Anlamak
DGQL DGML oluşturmak için kullanabileceğiniz bir hafif sorgu dilidir. DGQL deyimi, çıktının bir sonraki düğüm seçiminde girdi haline geldiği vb., her düğüm seçiminin sonraki eylem için girdi oluşturduğu değişen bir düğüm seçim ve eylem modeli izler.
Bir DGQL deyiminin biçimi şöyledir:
<node selection> / <action> / <node selection> / <action> / ...
Aşağıdaki tablo düğümleri seçmek için kullanılan DGQL sözdizimini açıklar:
* |
Tüm düğümleri seçin. |
+ "text" |
"metin" içeren tüm düğümleri seçin. |
+ Id.Equals("text") |
Id öğesi "text" öğesine eşit olan tüm düğümleri seçin. |
+ Background.Contains("text") |
Background özniteliğinde "text" dizesi içeren bir değer olan tüm düğümleri seçin. |
+ "text1" + "text2" + ... |
"text1" veya "text2" ile eşleşen tüm düğümleri seçin. |
+ MyProperty="True" |
Değeri "Doğru" olan ve MyProperty olarak adlandırılmış bir özelliği olan tüm düğümleri seçin. |
- Label.Contains("text") |
Label özniteliği olan, Contains "metin" dizesini içerenler dışında tüm düğümleri seçin. |
+ Category.Is("MyCategory") |
MyCategory olarak adlandırılmış kategorisi olan veya MyCategory öğesinden devralan tüm düğümleri seçin. |
Aşağıdaki tablo seçilen düğümlerde gerçekleştirilebilecek doğrudan eylem örneklerini açıklar:
Örnek eylem |
Tanımlama |
---|---|
Microsoft.Contains |
Giriş düğümlerinde saklanan tüm düğümleri geri döndürür. Contains uygulamasını farklı bir bağlantı kategorisiyle değiştirebilirsiniz. |
Microsoft.Open |
Giriş düğümleri için kaynak kodunu açın.
Not
Yalnızca Visual Studio ile çalışır.
|
Microsoft.AllOutBoundLinks |
Giriş düğümlerinden giden bağlantının hedef tarafında bulunan tüm düğümleri geri döndürür. |
Microsoft.AllInboundLinks |
Giriş düğümleri bağlantısının kaynak tarafında bulunan tüm düğümleri geri döndürür. |
Microsoft.Core.CreateGroupsByProperties |
GroupByProperties eylemini çağırın. |
Microsoft.AllNodes |
Tüm grafikteki bugüne kadarki bütün düğümleri döndürür. |
Veri tabanlı eylemler yalnızca giriş düğümleri ve bağlantılar üzerindeki verilere bağlı öğeleri seçer. Veri tabanlı eylemleri kullanarak kategorileri eşleştirirken devralınan kategoriler de dahil edilir. Aşağıdaki tablo veri tabanlı eylem örneklerini açıklar:
Tür |
Tanımlama |
---|---|
Node:Both:Category |
Kategorisi Category olan ve giriş düğümlerine iki yönde işaret eden bir bağlantı ile bağlı bütün düğümleri geri döndürür. |
Link:Both:Category |
Giriş düğümleri ile bağlı bütün düğümleri, iki yönde işaret eden bir bağlantı ile geri döndürür ve Category kategorisi vardır. |
Link:Backward:Category |
Kategorisi Category olan bir bağlantı ile giriş düğümlerine işaret eden tüm düğüm noktalarını döndürür. |
Link:Forward:Category |
Kategorisi Category olan bir bağlantı ile giriş düğümlerinden işaret edilen tüm düğüm noktalarını döndürür. |
İpuçları
Genellikle belirli bir takım girdi düğümleri için Mimari Gezgini tarafından otomatik olarak seçilen bir "varsayılan" eylem vardır. Aynı davranışı sağlamak için boş bir eylem kullanın: //
DGQL içindeki beyaz boşluk önemli değildir, bu yüzden sorgunuzu gerekirse bir satıra sığacak şekilde biçimlendirebilirsiniz. Bu –exec seçeneğini GraphCmd ile kullandığınızda kullanışlıdır.
DGQL'i hata ayıklarken, sorgunun her bir adımını görmenize ve beklenen sonuçları üretmeyen adımı bulmanıza yardımcı olması için Mimari Gezgin'deki "Execute Expanded" eylemini kullanın.
Örnek
Aşağıdaki DGQL anlatımı aşağıdaki adımlarda belirtildiği gibi bir sorgu yürütür:
+ Id.Equals("Microsoft.Solution.ClassView") / "Microsoft.Solution.ClassView" / * / "Node:Both:CodeSchema_Class" / + CodeSchemaProperty_IsPublic.Equals("True")
Seçim Class View ilk sütununda düğüm Mimari Explorer.
Eylemi gerçekleştirmek "Microsoft.Solution.ClassView", çözüm, tüm ad alanlarını döndürülüyor.
Tüm ad alanlarını seçmek için * kullanın.
CodeSchema_Class kategorisi olan ve bu ad alanlarına herhangi bir yönde bir bağlantıyla ilişkili olan tüm düğümleri seçin. Bunlar genellikle kapsama bağlantılarıdır.
Sonuç sınıflarını yalnızca CodeSchemaProperty_IsPublic="True" özelliğine sahip olanlar biçiminde filtreleyin.
Teknik olarak "Microsoft.Solution.ClassView" eylemi Class View düğümü için "varsayılan" eylem olduğundan gereksizdir. Bu yüzden, sorguyu basitleştirmek ve tek bir satırda aşağıdaki gibi biçimlendirmek için, bu eylemi // öğesiyle değiştirebilirsiniz:
+Id.Equals("Microsoft.Solution.ClassView")//*/"Node:Both:CodeSchema_Class"/+CodeSchemaProperty_IsPublic.Equals("True")
Sorun Giderme
Aşağıdaki öğeler için c ve C++ kodu desteklenmez:
Temel türler üst hiyerarşi içeren grafikler üzerinde görünmüyor.
Çoğu Show menü öğeleri için c ve C++ kodu yoktur.
c ve C++ kodu için bağımlılık grafikler oluştururken, aşağıdaki sorunlar ortaya çıkabilir:
Öğe |
Olası neden |
Çözüm |
---|---|---|
Baðýmlýlýk grafiði oluşturulamadı. |
Hiçbir çözüm projeleri başarıyla oluşturulmuştu. |
Oluşan derleme hataları giderin ve grafiği yeniden oluşturmak. |
Visual Studiogelen bir baðýmlýlýk grafiði oluşturmaya çalıştığınızda yanıt vermemeye başlıyor mimari menüsü. |
Program (.pdb) veritabanı dosyası bozuk olabilir. .Pdb dosyası türü, yöntem ve kaynak dosya bilgileri gibi hata ayıklama bilgileri depolar. |
Çözümü yeniden oluþturun ve yeniden deneyin. |
IntelliSense gözatma veritabanı belirli ayarları devre dışı bırakılır. |
Belirli IntelliSense ayarları, devre dışı Visual Studioseçenekleri iletişim kutusu. |
Bunları etkinleştirmek için ayarları etkinleştirin. |
İleti Bilinmeyen yöntem bir yöntem düğümünde görünür. Yöntemin adı çözümlenemediği için bu sorun oluşur. |
İkili dosya temel değişikliği tablosu olmayabilir. |
Aç /FIXED:NO linker seçeneği. |
Program (.pdb) veritabanı dosyası yerleşik değil. .Pdb dosyası türü, yöntem ve kaynak dosya bilgileri gibi hata ayıklama bilgileri depolar. Daha fazla bilgi için bkz. [ESKİ] Program Veritabanı Dosyaları (C++). |
Aç /DEBUG linker seçeneği. |
|
Açamaz veya beklenen konumlarda .pdb dosyası bulunamıyor. |
.Pdb dosyası beklenen konumda bulunduğundan emin olun. |
|
Hata ayıklama bilgileri, .pdb dosyasından atılmış. |
/PDBSTRIPED Linker seçeneği kullanıldı, bunun yerine tam .pdb dosyası içerir. |
|
Çağıran bir işlev değil ve thunk ikili dosyada ya da veri bölümündeki bir işaretçi. |
Arayan bir thunk olduğunda kullanmayı deneyin _declspec(dllimport) thunk önlemek için. Bakın: |
Başka ne yapabilirim?
Daha fazla bilgiyi nereden bulabilirim?
Kategori |
Bağlantılar |
---|---|
Forumlar |
|
Bloglar |