Sdílet prostřednictvím


Přehled trasování událostí USB pro Windows

Toto téma obsahuje informace pro vývojáře klientských ovladačů o funkcích trasování a protokolování pro univerzální sériovou sběrnici (USB). Tyto informace jsou poskytovány pro výhody těch, kteří vyvíjejí a ladí zařízení USB. Obsahuje informace o tom, jak nainstalovat nástroje, vytvořit trasovací soubory a analyzovat události v trasovacím souboru USB. Toto téma předpokládá, že máte komplexní znalosti ekosystému a hardwaru USB, který je nutný k úspěšnému použití funkcí trasování a protokolování USB.

Abyste mohli interpretovat trasování událostí, musíte také porozumět ovladačům na straně hostitele Windows USB ve Windows, oficiálním specifikacím USB a specifikacím třídy zařízení USB.

Trasování událostí pro Windows

Trasování událostí pro Windows (ETW) je univerzální vysokorychlostní trasovací zařízení, které poskytuje operační systém. Používá mechanismus ukládání do vyrovnávací paměti a protokolování implementovaný v jádru k zajištění mechanismu trasování událostí, které jsou vyvolány aplikacemi v uživatelském režimu i ovladači zařízení v režimu jádra. Kromě toho ETW poskytuje možnost dynamicky povolit a zakázat protokolování, což usnadňuje provádění podrobného trasování v produkčních prostředích bez nutnosti restartů nebo restartování aplikace. Mechanismus protokolování používá vyrovnávací paměti pro procesor, které jsou zapsány na disk asynchronním zapisovacím vláknem. Toto ukládání do vyrovnávací paměti umožňuje velkým serverovým aplikacím zapisovat události s minimálním narušením.

ETW bylo představeno ve Windows 2000. Od té doby různé základní operační systémy a serverové komponenty přijaly etW k instrumentaci svých aktivit. EtW je teď jednou z klíčových technologií instrumentace na platformách Windows. Rostoucí počet aplikací třetích stran používá etW pro instrumentaci a některé využívají události, které Windows poskytuje. ETW byl také integrován do technologie trasování softwaru Windows preprocesoru (WPP), která poskytuje sadu snadno použitelných maker pro trasování zpráv ve stylu printf pro ladění během vývoje.

Windows Vista a Windows 7 byly výrazně upgradovány pro Windows Vista a Windows 7. Jednou z nejvýznamnějších nových funkcí je model a rozhraní API sjednoceného poskytovatele událostí. Stručně řečeno, nová sjednocená rozhraní API kombinují záznam trasování a zápis do Prohlížeče událostí do jednoho konzistentního a snadno použitelného mechanismu pro poskytovatele událostí. Současně bylo do Trasování událostí pro Windows přidáno několik nových funkcí, které zlepšují prostředí pro vývojáře a koncové uživatele.

Další informace o ETW a WPP najdete v tématu Trasování událostí a Trasování událostí pro Windows (ETW).

Podpora USB pro protokolování ETW

USB je jedním z nejobvyklejších prostředků připojení stále rostoucí řady periferních zařízení k počítačům. Existuje velmi velká nainstalovaná základna hostitelských počítačů USB a periferních zařízení USB a dodavatelé systémů, dodavatelé zařízení a koncoví uživatelé očekávají a vyžadují, aby zařízení USB fungovala bezvadně na úrovni systému a zařízení.

Velká nainstalovaná základna a šíření zařízení USB odhalila problémy s kompatibilitou mezi softwarovým zásobníkem Windows USB, hostitelským řadičem USB a zařízeními USB. Tyto problémy s kompatibilitou způsobují problémy zákazníků, jako jsou selhání operací zařízení, zablokování systému a chybové ukončení systému.

Bylo obtížné nebo nemožné prošetřit a ladit problémy se zařízeními USB bez přímého přístupu k systému a/nebo zařízením, nebo v některých případech bez výpisu paměti po pádu systému. I s úplným přístupem k hardwaru a výpisu stavu systému byl extrahování relevantních informací časově náročnou technikou, která je známá pouze několika základními vývojáři ovladačů USB. Problémy s USB můžete ladit pomocí hardwarových nebo softwarových analyzátorů, ale jsou velmi drahé a jsou k dispozici pouze malému procentu odborníků.

Podpora USB ETW

EtW poskytuje mechanismus protokolování událostí, který může zásobník ovladačů USB zneužít k vyšetřování, diagnostice a ladění problémů souvisejících s USB. Protokolování událostí ETW v USB ovladačích podporuje většinu nebo všechny možnosti ladění, které poskytuje stávající mechanismus ad hoc protokolování v USB zásobníku ovladačů, bez jakýchkoli omezení. To znamená snadné ladění problémů souvisejících s USB, což by mělo poskytovat robustnější zásobník ovladačů USB v dlouhodobém měřítku.

Do ovladačů hostitelského řadiče USB a ovladače rozbočovače USB jsme přidali protokolování ETW. Vrstva ovladače hostitelského adaptéru USB zahrnuje ovladač portu hostitelského adaptéru (usbport.sys) a ovladače miniportu (usbehci.sys, usbohci.sysa usbuhci.sys). Vrstva ovladače rozbočovače USB se skládá z ovladače rozbočovače USB (usbhub.sys).

  • Události rozbočovače USB

    I když je shromažďování událostí USB povolené, poskytovatel událostí rozbočovače USB hlásí přidání a odebrání rozbočovačů USB, souhrnné události zařízení všech rozbočovačů a změny stavu portu. Tyto události můžete použít k určení původní příčiny většiny selhání výčtu zařízení.

  • Události portu USB

    I když je shromažďování událostí USB povolené, poskytovatel událostí portu USB hlásí vstupně-výstupní operace z klientských ovladačů, otevírání a zavírání koncových bodů zařízení a přechody stavu miniportu, jako je spuštění a zastavení miniportu. Protokolované vstupně-výstupní operace zahrnují požadavky na stav fyzických portů USB. Přechody stavu na fyzických portech USB jsou jedním z klíčových iniciátorů aktivity v základním zásobníku ovladačů USB.

Systém Windows poskytuje zásobník ovladačů USB pro podporu zařízení USB 3.0. Sada ovladačů USB 3.0 poskytovaná společností Microsoft se skládá ze tří ovladačů: Usbxhci.sys, Ucx01000.sysa Usbhub3.sys. Všechny tři ovladače spolupracují a přidávají nativní podporu systému Windows pro většinu hostitelských řadičů USB 3.0. Nový zásobník ovladačů podporuje zařízení SuperSpeed, vysokorychlostní, plnorcyhlostní a nízkorychlostní. Prostřednictvím trasování událostí poskytuje zásobník ovladačů USB 3.0 přehled o jemně odstupňované aktivitě hostitelského kontroleru a všech zařízeních připojených k němu.

  • Události USB Hub3

    I když je shromažďování událostí USB povolené, poskytovatel událostí USB Hub3 hlásí přidání a odebrání rozbočovačů USB, souhrnné události zařízení všech rozbočovačů, změny stavu portů a stavy napájení zařízení a rozbočovačů USB. Změny stavu portů jsou přechody stavu na fyzických portech USB a jsou jedním z klíčových iniciátorů aktivity v základním zásobníku ovladačů USB. Hub3 hlásí fáze procesu výčtu, které odkazují na hlavní příčinu většiny selhání výčtu zařízení. S povoleným klíčovým slovem StateMachine hlásí Hub3 aktivitu interního stavového počítače pro softwarové zařízení, centrum a objekty portů, které poskytují hlubší přehled o logice ovladače.

  • Události USB UCX

    I když je shromažďování událostí USB povolené, poskytovatel událostí USB UCX hlásí vstupně-výstupní operace z klientských ovladačů a otevírání a zavírání koncových bodů zařízení a datových proudů koncových bodů. S povoleným klíčovým slovem StateMachine hlásí UCX aktivitu interního stavového počítače pro objekty kontroleru hostitele a koncového bodu, které poskytují hlubší přehled o logice ovladače.

  • Události USB xHCI

    I když je shromažďování událostí USB povolené, poskytovatel událostí USB xHCI hlásí vlastnosti řadičů xHCI systému a podrobnosti o operaci xHCI nízké úrovně. xHCI hlásí požadavky na příkazy odeslané a dokončené hardwarem xHCI, včetně kódů dokončení specifických pro xHCI.

V této části

Téma Popis
Jak zachytit trasování událostí USB pomocí Logmanu Toto téma obsahuje informace o použití nástroje Logman k zachycení trasování událostí TRASOVÁNÍ UDÁLOSTÍ TRASOVÁNÍ UDÁLOSTÍ PRO WINDOWS USB. Logman je nástroj pro trasování, který je integrovaný do Windows. Logman můžete použít k zaznamenání událostí do souboru protokolu trasování událostí.
Použití identifikátorů GUID ID aktivity v trasování TRASOVÁNÍ UDÁLOSTÍ PRO WINDOWS USB Toto téma obsahuje informace o identifikátorech GUID ID aktivit, o tom, jak tyto identifikátory GUID přidat do zprostředkovatelů trasování událostí a zobrazit je v Netmonu.
Trasování TRASOVÁNÍ TRASOVÁNÍ PRO WINDOWS USB v Netmonu Můžete zobrazit trasování událostí USB ETW pomocí aplikace Microsoft Network Monitor, označované také jako Netmon. Netmon neprovádí analýzu trasování automaticky. Vyžaduje analyzátory ETW pro USB. USB ETW parsovací soubory jsou textové soubory napsané v jazyce Network Monitor Parser Language (NPL), které popisují strukturu sledování událostí USB ETW. Analyzátory také definují sloupce a filtry specifické pro USB. Díky těmto analyzátorům je Netmon nejlepším nástrojem pro analýzu USB ETW tras.
Použití xperf s USB ETW Toto téma popisuje, jak používat Xperf s Netmonem k analýze dat trasování USB.
USB ETW a řízení spotřeby Toto téma obsahuje stručný přehled o použití ETW k prozkoumání stavu selektivního pozastavení USB a identifikaci problémů s energetickou účinností systému pomocí nástroje Windows PowerCfg.