Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Bu bölümde, yaygın olarak WPP Ön İşlemcisi olarak bilinen Windows Yazılım İzleme Ön İşlemcisi açıklanmaktadır.
WPP Önişlemcisini Çağırma
Visual Studio ve MSBuild ortamını kullanarak WPP ön işlemcisini çağırabilirsiniz.
WPP ön işlemcisini çağırmak için
Çözüm Gezgini'nde sürücü projesine sağ tıklayın ve Özellikler'e tıklayın.
Proje özelliği sayfasında Yapılandırma Özellikleri'ne ve WPP İzleme'ye tıklayın
Genel'in altında WPP'yi Çalıştır seçeneğini Evet olarak ayarlayın.
Komut Satırı'nın altında, izleme davranışını özelleştirmek için aşağıdaki seçenekleri ekleyebilirsiniz.
Örneğin, WPP İzleme altında tek bir Tarama Yapılandırma Verileri dosyası belirtebilirsiniz.
Örneğin özel veri türlerini belirtmek için birden fazla yapılandırma dosyası sağlamanız gerekiyorsa , -scan seçeneğini kullanarak Komut Satırı'nda dosyanıza başvurun, örneğin:
-scan:"$(KMDF_INC_PATH)\$(KMDF_VER_PATH)\WdfTraceEnums.h"
Derleme işlemi hakkında daha fazla bilgi için bkz. TraceWPP görevi , WDK ve Visual Studio derleme ortamı.
TraceWPP aracını (TraceWPP.exe) kullanarak ön işlemciyi derleme ortamından ayrı olarak da çalıştırabilirsiniz. Bu araç, WDK'nin bin/x86 alt dizininde bulunur.
WPP İzleme Genel Seçenekleri
Aşağıdaki tablolarda WPP ön işlemcisinin seçenekleri açıklanmaktadır. Bu seçenekleri Visual Studio'da projenizin WPP İzleme özellik sayfasını kullanarak veya TraceWPP aracının parametreleri olarak yapılandırabilirsiniz.
| WPP İzleme Seçeneği | Açıklama |
|---|---|
WPP'i çalıştırma |
Eğer doğruysa, WPP'yi çağırır. |
En Az Yeniden Derlemeyi Etkinleştir |
True ise izlenen artımlı derleme gerçekleştirilir; false ise, yeniden oluşturma gerçekleştirilir. |
İşlev ve Makro Seçenekleri
| WPP İzleme Seçeneği | TraceWPP komut seçeneği | Açıklama |
|---|---|---|
Önişlemci Tanımları |
-DMakro |
Oluşturulan dosyanın başına #defineMakro ekler; burada Makro bir makronun adıdır. Bu seçenek , /D (makro tanımla) derleyici seçeneğiyle aynı etkiye sahiptir. Tanımlamaların TMH dosyalarının başında geçerli olduğundan emin olmak için dahil edilir. |
-DMakro=Genişletme |
Oluşturulan dosyanın başına makro genişletme#define ekler; burada Makro bir makronun adıdır ve Genişletme genişletilmiş değerdir. Bu seçenek , /D (makro tanımla) derleyici seçeneğiyle aynı etkiye sahiptir. Tanımlamaların TMH dosyalarının başında geçerli olduğundan emin olmak için dahil edilir. |
|
İzleme Kernel-Mode Bileşenleri |
-kilometre |
Çekirdek modu bileşenlerinin izlendiği WPP_KERNEL_MODE makroyu tanımlar. Varsayılan olarak, yalnızca kullanıcı modu bileşenleri izlenir. |
Dll Makros'larını etkinleştirme |
-Dll |
WPP_INIT_TRACING çağrıldığında WPP veri yapılarının başlatılmasına neden olan WPP_DLL makroyu tanımlar. Aksi takdirde, yapılar yalnızca bir kez başlatılır. |
Denetim GUID'sini belirtin |
-ctl:GUID |
Belirtilen denetim GUID'sine ve Hata, Olağan Dışı ve Kirlilik adlı WPP_DEFINE_BIT girişlerine sahip bir WPP_CONTROL_GUIDS makro tanımlar.
Bu, makroyu kaynak dosyaya eklemeye alternatiftir. GUID , denetim GUID'sini temsil eder. |
Arama ve Biçimlendirme Seçenekleri
| WPP İzleme Seçeneği | TraceWPP komut seçeneği | Açıklama |
|---|---|---|
Ünlem İşaretlerini Yoksay |
-noshrieks |
WPP'yi "çığlıklar" olarak da bilinen ünlem işaretlerini yoksaymaya yönlendirir. %!timestamp! gibi karmaşık biçimlendirmelerde kullanılır%. Varsayılan olarak ünlem işaretleri gereklidir ve WPP bunları yorumlamaya çalışır. |
Biçim dizelerinin numaralanması için sayısal taban |
-argbase:Sayı |
"%1!d!, %2!s!" gibi biçim dizelerinin numaralanması için sayısal bir taban oluşturur. Varsayılan değer 1'dir. |
İzleme İletileri Oluşturma İşlevi |
-func:FunctionDescription |
DoTraceMessage makrosunun alternatiflerini belirtir. Bu işlevler daha sonra izleme iletileri oluşturmak için kullanılabilir. Örneğin, bir izleme iletisinin hem bayraklarını hem de düzeyini belirten bir işlev tanımlayabilirsiniz, örneğin:
-func seçeneğinin birden çok örneğini kullanabilirsiniz. Bu seçenek, yerel yapılandırma dosyasında işlev açıklamalarını belirtmeye alternatiftir. |
Aranacak dizeyi belirtin |
-lookfor:String |
WPP'yi, izlemeyi başlatmak üzere belirtilen dize için kaynak dosyaları aramaya yönlendirir. Varsayılan olarak, WPP "WPP_INIT_TRACING" dizesini arar. Bu, kendi şablonlarını yazan kullanıcılar için gelişmiş bir seçenektir. Örneğin, default.tpl dosyasında: |
Modül Adını Belirtin |
-p:Dize |
İzleme sağlayıcısından gelen mesajların mesaj GUID'i için alternatif bir anlaşılır ad belirtir. Varsayılan olarak, ileti GUID'sinin kolay anlaşılır adı, izleme sağlayıcısının oluşturulduğu dizinin adıdır. İleti GUID'sinin arkadaşça adı, varsayılan olarak, değişken %1 ile temsil edilen izleme iletisi ön ekinde görüntülenir. Bu parametreyi, kullanıcının iz sağlayıcısını tanımlamasına yardımcı olması için ön eke bir dize eklemek üzere kullanabilirsiniz; iz sağlayıcısının kolay adı, iz sağlayıcısını içeren modülün adı veya birkaç iz sağlayıcı oluşturularak uygulanan bir projenin adı gibi. Bu bilgiler, kullanıcıların farklı dosyalarda veya farklı yollarda bulunan ilgili izleme sağlayıcılarını ilişkilendirmesine yardımcı olur. -p parametresi, Windows Vista için Windows Sürücü Seti'nde (WDK) ve WDK'nin sonraki sürümlerinde bulunan WPP sürümünü gerektirir. -p parametresi Windows 2000 ve sonraki Windows sürümlerinde çalışır. Örnekler: |
Dosya Seçenekleri
| WPP İzleme Seçeneği | TraceWPP komut seçeneği | Açıklama |
|---|---|---|
Ek Ekleme Dizinleri |
-IPath1[;Path2] |
Ekleme yoluna eklenecek bir veya daha fazla dizin belirtir; birden fazlaysa noktalı virgülle ayırın. -cfgdir ile aynı. |
Yapılandırma Dizinleri |
-cfgdir:Path1[;Path2] |
Yapılandırma ve şablon dosyalarının konumunu belirtir. Path1 ve Path2 , bir dizinin tam yolunu gösterir. Birden çok yol belirtebilirsiniz. Varsayılan, yerel dizindir. |
Dosya Uzantıları |
-Ext:.ext1[.ext2] |
WPP'nin kaynak dosya olarak tanıdığı dosya türlerini belirtir. WPP, farklı bir dosya adı uzantısına sahip dosyaları yoksayar. Varsayılan olarak, WPP yalnızca .c, .c++, .cpp ve .cxx dosyalarını tanır. Bu seçenek, WPP'nin kullanmadığı .rc ve .mc dosyaları gibi kaynak dosyalarını silmek veya yeniden adlandırmak zorunda kalmadan WPP için varsayılan ayarları kullanmanıza olanak tanır. Örneğin, C++ dosyalarına ve üst bilgi (.h) dosyalarına izleme eklemek için aşağıdaki komutu kullanın: -ext:.cpp.CPP.h.H Ayrıca, C++ ve üst bilgi dosyaları için TMH dosyalarına farklı adlar vermek için -preserveext seçeneğini kullanın. |
Dosya Uzantılarını Koru |
-preserveext:.ext1[.ext2] |
TMH dosyaları oluştururken belirtilen dosya adı uzantılarını korur. Varsayılan olarak, tüm dosya türleri için TMH dosyaları filename.tmh olarak adlandırılır. Bu, aynı ada sahip birden fazla kaynak dosyanız olduğunda dosya adı çakışmasına neden oldu. Örneğin, varsayılan olarak, C dosyaları (.c) ve üst bilgi (.h) dosyaları için TMH dosyaları filename.tmh> olarak adlandırılır<. -preserveext:.c .h kullanılarak, TMH dosyaları filename.c.tmh> ve <filename.h.tmh> olarak adlandırılır<. |
Çıkış Dizini |
-odir:path | WPP'nin oluşturduğu çıkış dosyalarının dizinini belirtir. Yol dizinin tam yoludur. Varsayılan, yerel dizindir. |
Şablon Dosyası Belirtme |
-gen{ File.tpl }. ext |
WPP'nin ayraçlar {}arasında belirtilen adla işlediği her kaynak dosya için, belirtilen dosya adı uzantısına sahip başka bir dosya oluşturun. File.tpl kaynak dosyayı temsil eder. *.ext, oluşturulan dosya türünü ve dosya adı uzantısını temsil eder. Birden çok -gen seçeneği belirtebilirsiniz. Örneğin, -gen{um-default.tpl}.tmh , WPP'nin işlediği her um-default.tpl dosyası için bir um-default.tmh dosyası ürettiği anlamına gelir. |
Yapılandırma Verilerini Tara |
-scan:File |
Özel veri türleri gibi yapılandırma verilerini hem yapılandırma dosyası olmayan bir dosyada hem de defaultwpp.iniiçinde arar. Yapılandırma verilerini tanımlamak için begin_wpp config ve end_wpp dizelerini yerleştirin. yapılandırma verileri için defaultwpp.ini'de kullanılan biçimi kullanın. Yapılandırma verilerini özel bir yapılandırma dosyasına eklediyseniz -ini parametresini kullanın. |
Alternatif Yapılandırma Dosyası |
-defwpp:path |
Alternatif bir yapılandırma dosyası belirtir. Wpp, defaultwpp.ini dosyası yerine bu dosyayı kullanır. |
Ek Yapılandırma Dosyası |
-ini:Path |
Ek bir yapılandırma dosyası belirtir. WPP, defaultwpp.inivarsayılan dosyaya ek olarak belirtilen dosyayı kullanır. İzleme için yapılandırma verilerini depolamak üzere yeni bir yapılandırma dosyası oluşturduğunuzda bu parametreyi kullanın. Yapılandırma verilerini kaynak veya üst bilgi dosyası gibi başka bir dosya türüne eklediyseniz -scan parametresini kullanın. |
WPP Oluşturma Süreci
Bir sürücü veya kullanıcı modu uygulaması için WPP etkinleştirildiyse, sürücü veya uygulama derlenmeden önce, WPP ön işlemcisi çağrılır.
WPP derleme işlemi aşağıdaki adımları tamamlar:
WPP ön işlemcisi, her kaynak dosyadaki WPP makrolarını işler ve her kaynak dosya için bir izleme iletisi üst bilgisi dosyası oluşturur. Kaynak kod doğrudan değiştirilmez.
WPP ön işlemcisi izleme iletisi üst bilgi dosyalarını oluşturduktan sonra, C ön işlemcisi izleme iletisi üst bilgi dosyalarındaki yerleşik WPP makrolarını normal bir şekilde işler.