Udostępnij przez


Dostawcy debugowania

Dostawcy, chyba że są to dostawcy uruchomieni w aplikacji, są ładowani w procesie Wmiprvse.exe, a nie przy użyciu procesu Svchost.exe z procesem Winmgmt.exe. Aby uzyskać więcej informacji, zobacz Provider Hosting and Security.

Podczas zatrzymywania się w punkcie przerwania debuger programu Visual Studio zawiesza cały proces hosta dostarczającego, który jest zwykle współdzielonym hostem Wmiprvse.exe. Zapobiega to operacji wszystkich innych składników hostowanych w tym procesie, w tym rozszerzenia Eksploratora serwera WMI. Aplikacje klienckie wywołujące dostawcę również są blokowane. Problemy, które wynikają, są poważniejsze w systemie Windows 2000 i starszych, ponieważ dostawca jest ładowany do procesu usługi WMI (Winmgmt.exe).

Jeśli uruchomisz Eksploratora serwera WMI w innym wystąpieniu, środowisko IDE programu Visual Studio nie zawiesza się i możesz zwolnić punkt przerwania. Zaleca się uruchomienie dostawcy w osobnym procesie hostingu w fazie opracowywania, aby zatrzymanie się w punkcie przerwania blokowało tylko proces hostujący dostawcę. Inne funkcje w usłudze WMI nadal są dostępne dla Eksploratora serwera WMI i innych aplikacji lub skryptów opartych na usłudze WMI. Ponadto jeśli dostawca ulegnie awarii, nie wpłynie to na działanie innych dostawców załadowanych do tego samego procesu hosta.

Aby załadować dostawcę we własnym procesie hosta, zmodyfikuj rejestrację dostawcy, ustawiając właściwość __Win32Provider.HostingModel na NetworkServiceHost:[MyProvider], gdzie MyProvider może być dowolnym ciągiem, który jednoznacznie identyfikuje dostawcę. Na przykład użyj wartości __Win32Provider.ClsId. Gdy dostawca jest gotowy do wysłania, wróć __Win32Provider.HostingModel do zamierzonej wartości, takiej jak NetworkServiceHost.

Jeśli nie debugujesz ładowania dostawcy, możesz wywołać metodę Load klasy MSFT_Providers, aby wymusić załadowanie dostawcy, a następnie dołączyć do procesu Wmiprvse.exe, który ma załadowaną bibliotekę DLL i debugować zgodnie z potrzebami.

Rozwiązywanie problemów z usługą WMI

Klasy rozwiązywania problemów WMI