Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Informatie over hoe protocolhandlers worden gestart, is integraal voor het testen en opsporen van fouten in uw protocolhandlerimplementaties.
Dit onderwerp is als volgt ingedeeld:
Over foutopsporingsprotocol-handlers
Het SearchIndexer-proces (searchindexer.exe) start een kopie van het SearchProtocolHost-proces (SearchProtocolHost.exe) in de systeemcontext en een andere kopie in de gebruikerscontext. Vervolgens worden de protocolhandlers zo nodig geladen in het SearchProtocolHost-proces. Ze worden pas uitgeladen als de zoekservice is gestopt. Hetzelfde exemplaar van een protocolhandler wordt een willekeurig aantal keren hergebruikt terwijl de service wordt uitgevoerd.
De processen SearchIndexer en SearchProtocolHost communiceren regelmatig tijdens het indexeren. Als u het SearchProtocolHost-proces onderbreekt of stopt om fouten op te sporen, start SearchIndexer een nieuw SearchProtocolHost-proces, waarbij uw foutopsporingssessie ongeldig wordt. Als u de debugger rechtstreeks aan het SearchProtocolHost-proces koppelt, kunt u de overname van de handle van searchindexer.exe naar searchprotocolhost.exeverbreken, en kunnen de twee processen niet communiceren.
Om deze problemen te voorkomen, moet u de zoekservice op de hoogte stellen van de foutopsporing en moet u het foutopsporingsprogramma koppelen aan het SearchIndexer-proces met instructies voor het opsporen van fouten in onderliggende processen, zoals hierna wordt beschreven.
Het instellen van foutopsporing
Volg deze stappen om foutopsporing in te stellen voor uw protocolhandler.
Stel de zoekservice op de hoogte van de foutopsporing door de waarde DebugFilters in te stellen op 1 in het register:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft Windows Search Gathering Manager DebugFilters = 1Bevestig een debugger met behulp van de registersleutel Image File Execution Options:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion Image File Execution Options SearchIndexer.exe Debugger = <path to debugger> <debugger options>De opties voor een voorbeelddebugger worden beschreven in de volgende tabel.
voorbeeld van het foutopsporingsprogramma ntsdDebugger = C:\debuggers\ntsd.exe -odGx -c: "sxe ld mydll.dll; g"
Start searchindexer.exe opnieuw onder het foutopsporingsprogramma met behulp van compmgmt.msc, services.msc of een opdrachtvenster met opdrachten die vergelijkbaar zijn met de volgende:
net stop wsearch <copy new DLLs for debugging> net start wsearch
Als u onderscheid wilt maken tussen een SearchProtocolHost-proces dat wordt uitgevoerd in de systeemcontext en een proces dat wordt uitgevoerd in de gebruikerscontext, kunt u de omgevingstekenreeksen bekijken. Met ntsd.exekunt u bijvoorbeeld de extensieopdracht !peb gebruiken om een opgemaakte weergave van de informatie weer te geven in het procesomgevingsblok (PEB).
Aanvullende informatiebronnen
- Voor informatie over het maken van handlers, zie Shell-extensies registreren.
Verwante onderwerpen
conceptuele