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.
Protokol işleyicilerinin nasıl başlatıldığını anlamak, protokol işleyici uygulamalarınızı test etmek ve hata ayıklamak için çok önemlidir.
Bu konu aşağıdaki gibi düzenlenmiştir:
Hata ayıklama protokolü işleyicileri hakkında
SearchIndexer işlemi (searchindexer.exe), sistem bağlamında SearchProtocolHost işleminin (SearchProtocolHost.exe) bir kopyasını ve kullanıcı bağlamında başka bir kopyasını başlatır. Ardından, protokol işleyicileri gerektiğinde SearchProtocolHost işlemine yüklenir. Arama hizmeti durdurulana kadar onlar boşaltılmaz. Hizmet çalışırken protokol işleyicisinin aynı örneği birkaç kez yeniden kullanılır.
SearchIndexer ve SearchProtocolHost işlemleri dizin oluşturma sırasında sık sık iletişim kurar. Hata ayıklamak için SearchProtocolHost işlemini duraklatır veya durdurursanız, SearchIndexer yeni bir SearchProtocolHost işlemi başlatır ve hata ayıklama oturumunuzu geçersiz bırakır. Ayrıca, hata ayıklayıcınızı doğrudan SearchProtocolHost işlemine eklerseniz, searchindexer.exe'dan searchprotocolhost.exe'e tanıtıcı devralmayı kesebilir ve iki işlem arasında iletişimi engelleyebilirsiniz.
Bu sorunları önlemek için, hata ayıkladığınız arama hizmetine bildirmeniz ve daha sonra açıklandığı gibi alt işlemlerde hata ayıklama yönergeleriyle birlikte hata ayıklayıcıyı SearchIndexer işlemine eklemeniz gerekir.
Hata ayıklamayı ayarlama
Protokol işleyiciniz için hata ayıklamayı ayarlamak için bu adımları izleyin.
DebugFilters değerini kayıt defterinde 1 olarak ayarlayarak, hata ayıkladığınız arama hizmetine bildirin:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft Windows Search Gathering Manager DebugFilters = 1Görüntü Dosyası Yürütme Seçenekleri kayıt defteri anahtarını kullanarak hata ayıklayıcı ekleyin:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion Image File Execution Options SearchIndexer.exe Debugger = <path to debugger> <debugger options>Örnek hata ayıklayıcı seçenekleri aşağıdaki tabloda açıklanmıştır.
Örnek ntsd hata ayıklayıcısıHata Ayıklayıcısı = C:\debuggers\ntsd.exe -odGx -c: "sxe ld mydll.dll;g"
compmgmt.msc, services.msc veya aşağıdakine benzer komutlar içeren bir komut penceresi kullanarak hata ayıklayıcının altındaki searchindexer.exe yeniden başlatın:
net stop wsearch <copy new DLLs for debugging> net start wsearch
Sistem bağlamında çalışan ve kullanıcı bağlamında çalışan bir SearchProtocolHost işlemini ayırt etmek için ortam dizelerini gözden geçirebilirsiniz. örneğin ntsd.exeile, işlem ortamı bloğundaki (PEB) bilgilerin biçimlendirilmiş bir görünümünü görüntülemek için !peb uzantı komutunu kullanabilirsiniz.
Ek kaynaklar
- İşleyici oluşturma hakkında bilgi için bkz. Kabuk Uzantılarını Kaydetme.
İlgili konular
Kavramsal