Włączanie śledzenia diagnostycznego usługi MS DTC na komputerze Windows 10

W tym artykule omówiono sposób włączania śledzenia diagnostycznego dla usługi Microsoft Distributed Transaction Coordinator (MS DTC) na komputerze Windows 10.

Oryginalna wersja produktu: Windows 10
Oryginalny numer KB: 926099

Ważna

Niniejszy artykuł zawiera informacje dotyczące modyfikowania rejestru. Przed zmodyfikowaniem rejestru wykonaj jego kopię zapasową. Upewnij się, że znasz sposób przywrócenia rejestru w przypadku wystąpienia problemu. Aby uzyskać więcej informacji na temat tworzenia kopii zapasowych, przywracania i modyfikowania rejestru, zobacz Informacje o rejestrze systemu Windows dla zaawansowanych użytkowników.

Typy obiektów śledzenia

  • Śledzenie menedżera transakcji

    Śledzenie menedżera transakcji (TM) śledzi zmiany stanu transakcji. Jest generowany przez menedżera transakcji MS DTC. Dane wyjściowe mają format binarny, a dane wyjściowe muszą być sformatowane. Menedżer transakcji jest częścią usługi MS DTC.

  • Śledzenie błędów menedżera komunikacji

    Śledzenie błędów menedżera komunikacji śledzi każdy proces, który ładuje plik Msdtcprx.dll i który używa interfejsu zdalnego wywołania procedury (RPC) usługi MS DTC do komunikowania się z innymi procesami związanymi z usługą MS DTC. Dane wyjściowe mają format tekstowy. Błąd 0x8004d00a jest typowym błędem, dla którego śledzenie błędów menedżera komunikacji może być przydatne.

Uwaga

Śledzenie i śledzenie błędów menedżera transakcji to niezależne procesy. Możesz niezależnie włączyć śledzenie menedżera transakcji i śledzenie błędów menedżera komunikacji. Możesz też niezależnie je wyłączyć.

Włączanie śledzenia menedżera transakcji

Aby włączyć śledzenie menedżera transakcji, możesz użyć przystawki Microsoft Management Console (MMC) usługi Component Services. Aby to zrobić, wykonaj następujące kroki.

  1. Wybierz pozycję Start, wybierz pozycję Wszystkie programy, wybierz pozycję Akcesoria, a następnie wybierz pozycję Uruchom.

  2. Wpisz comexp.msc, a następnie wybierz przycisk OK.

  3. Rozwiń węzeł Usługi składników, rozwiń pozycję Komputery, rozwiń węzeł Mój komputer, rozwiń węzeł Menedżer transakcji rozproszonych, kliknij prawym przyciskiem myszy pozycję Lokalna usługa DTC, a następnie wybierz pozycję Właściwości.

  4. Wybierz kartę Śledzenie .

  5. Na karcie Śledzenie można zmodyfikować następujące opcje śledzenia TM:

    • Dane wyjściowe śledzenia
      • Śledzenia transakcji
        • Śledzenie wszystkich transakcji
        • Śledzenie przerwanych transakcji
        • Śledzenie transakcji Long-Lived

Po zmianie konfiguracji śledzenia usługi TM usługa MS DTC wykrywa zmiany. Nie trzeba jednak odtwarzać tego procesu. Na przykład po zmianie śledzenia transakcji lub lokalizacji pliku śledzenia usługa MS DTC wykrywa zmianę w rejestrze. Nie trzeba ponownie uruchamiać usługi MS DTC.

Nowy system śledzenia MS DTC w systemie Windows

W systemie Windows usługa MS DTC ma nowy i rozbudowany system śledzenia. Nowy system ma następujące cele projektowe:

  • Do dodania sformatowanego śledzenia jest wymagany tylko jeden wiersz kodu.
  • Ślad jest czytelny dla ludzi na komputerach produkcyjnych bez sieci.
  • Opcje wyjściowe są elastyczne.
  • Ślad jest szybki.
  • Nie trzeba ponownie uruchamiać komputera, aby zmienić opcje.

Ponadto w Windows 10 i Windows Server Technical Preview nazwa pliku dziennika śledzenia zawiera nazwę procesu, który wywoływał dziennik śledzenia. Jest to kontrolowane przez klucz rejestru danych wyjściowych.

Konfigurowanie śledzenia

Ostrzeżenie

Niepoprawne zmodyfikowanie rejestru przy użyciu Edytora rejestru lub innej metody może stać się przyczyną poważnych problemów. Ich rozwiązanie może wymagać ponownego zainstalowania systemu operacyjnego. Firma Microsoft nie może zagwarantować, że rozwiązanie tych problemów będzie możliwe. Rejestr można modyfikować na własną odpowiedzialność.

Konfiguracja śledzenia znajduje się w węźle lokalnym w kluczu rejestru o nazwie Tracing w kluczu rejestru MS DTC. Klucz Tracing rejestru obejmuje śledzenie menedżera połączeń. Wcześniej klucz rejestru był używany TraceCMErr do konfigurowania śledzenia menedżera połączeń. Klucz Tracing rejestru zawiera następujące dwa klucze podrzędne:

  • Sources: Ten klucz podrzędny konfiguruje rodzaj śledzenia.
  • Output: Ten klucz podrzędny konfiguruje miejsce wysyłania danych wyjściowych śledzenia.

Uwaga

Upewnij się, że proces może uzyskać dostęp do klucza Tracing rejestru. Domyślnie konfiguracja systemu Windows nie tworzy tego klucza i nie udziela uprawnień do tego klucza. Za pomocą Redaktor rejestru można skonfigurować funkcje śledzenia.

Aby utworzyć wpisy rejestru funkcji śledzenia, wykonaj następujące kroki:

  1. Wybierz pozycję Uruchom>wszystkie programy>Akcesoria>, wpiszregedit, a następnie wybierz przycisk OK.

  2. Znajdź, a następnie wybierz jeden z następujących kluczy podrzędnych:

    • HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSDTC\Tracing\Sources
    • HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSDTC\Tracing\Output
  3. W menu Edytuj wybierz pozycję Nowy, a następnie wybierz typ danych wpisu. Na przykład wybierz wartość DWORD (32-bitową).

  4. Wpisz nazwę żądanego źródła, a następnie naciśnij klawisz ENTER. Aby uzyskać więcej informacji na temat nazw źródłowych, zobacz tabelę w sekcji Konfigurowanie źródeł .

  5. Kliknij prawym przyciskiem myszy nowy wpis rejestru, wybierz pozycję Modyfikuj, wpisz żądaną wartość w polu Dane wartości , a następnie wybierz przycisk OK.

  6. W menu Plik kliknij polecenie Wyjdź.

Konfigurowanie źródeł

Klucz Sources rejestru zawiera zestaw wartości rejestru DWORD, które są wymienione w poniższej tabeli.

Name (Nazwa) Opis
TRACE_MISC Ślady, których nie można podzielić na inne kategorie
TRACE_CM Ślady w menedżerze połączeń
TRACE_TRACE Sama infrastruktura śledzenia
TRACE_SVC Usługa traces i uruchamianie pliku .exe
TRACE_GATEWAY Źródło bramy
TRACE_UI Ślady interfejsu użytkownika
TRACE_CONTACT Śledzi pulę kontaktów i kontakty
TRACE_UTIL Ślady procedur narzędziowych, które są wywoływane z wielu lokalizacji
TRACE_CLUSTER Śledzi kod specyficzny dla klastra (narzędzie)
TRACE_RESOURCE Śledzi kod specyficzny dla zasobu klastra
TRACE_TIP Źródło śledzenia protokołu Internetowego transakcji (TIP)
TRACE_XA Źródło śledzenia XA Transaction Manager (XATM)
TRACE_LOG Śledzenie dzienników
TRACE_MTXOCI Źródło śledzenia warstwy MTS/OCI (Mtxoci.dll)
TRACE_ETWTRACE Śledzenie zdarzeń dla źródła śledzenia systemu Windows (ETW)
TRACE_PROXY Ślady generowane w pliku DLL serwera proxy MSDTC
TRACE_KTMRM Śledzenie integracji z menedżerem transakcji jądra
TRACE_VSSBACKUP Śledzenie integracji z mechanizmem tworzenia kopii zapasowych i przywracania Visual SourceSafe firmy Microsoft
TRACE_PERFMON Śledzenie z obsługą liczników wydajności

Wartość DWORD powinna być liczbą z zakresu od 0 do 255. Wartość DWORD wskazuje poziom śledzenia, który występuje. W poniższej tabeli wymieniono możliwe wartości DWORD.

Value Opis
0 const BYTE TRACE_OFF
1 const BYTE TRACE_ERROR
2 const BYTE TRACE_WARNING
3 const BYTE TRACE_INFO
4 const BYTE TRACE_VERBOSE
5 const BYTE TRACE_VERY_VERBOSE
6 const BYTE TRACE_INOUT
0xF0 const BYTE TRACE_OBSCURE
0xff const BYTE TRACE_EVERYTHING

Uwaga

Wyższe wartości automatycznie zawierają niższe wartości. W związku z tym po włączeniu TRACE_INFO poziomu TRACE_ERROR poziom jest również włączony. Bardzo niewiele źródeł używa jakichkolwiek śledzenia, które jest wyższe niż TRACE_VERBOSE poziom.

Konfigurowanie danych wyjściowych śledzenia

Ostrzeżenie

Niepoprawne zmodyfikowanie rejestru przy użyciu Edytora rejestru lub innej metody może stać się przyczyną poważnych problemów. Ich rozwiązanie może wymagać ponownego zainstalowania systemu operacyjnego. Firma Microsoft nie może zagwarantować, że rozwiązanie tych problemów będzie możliwe. Rejestr można modyfikować na własną odpowiedzialność.

Klucz Output rejestru zawiera zestaw wartości, które kontrolują, gdzie są wysyłane dane wyjściowe śledzenia. Te wartości są następujące:

  • Wartość TraceFilePath (REG_SZ) to folder główny, w którym powinny być przechowywane pliki śledzenia. Śledzenie jest zapisywane w pliku w folderze o nazwie msdtc-X.log. W tej nazwie folderu X reprezentuje identyfikator PID dziesiętny procesu, który tworzy plik. Upewnij się, że wszystkie interesujące procesy mogą uzyskać dostęp do skonfigurowanego folderu. W przeciwnym razie informacje śledzenia zostaną utracone. Jeśli ta wartość nie jest ustawiona, ślady nie są wysyłane do pliku.

  • Wartość ImageNameInTraceFileNameEnabled (REG_DWORD) określa, czy nazwa wygenerowanego pliku dziennika śledzenia zawiera nazwę pliku obrazu procesu, który wywoływał dziennik śledzenia. Jeśli jest to wartość inna niż zero, nazwa pliku obrazu procesu zostanie uwzględniona w wygenerowanym pliku dziennika śledzenia. Jeśli ta wartość jest ustawiona na zero, nazwa pliku obrazu procesu nie zostanie uwzględniona w wygenerowanym pliku dziennika śledzenia. Domyślnie wartość jest ustawiona na zero (0). Poniżej przedstawiono przykład nazwy pliku śledzenia, w którym wygenerowany plik dziennika zawiera proces:
    MSDTC-msdtc.exe-3552.log lub MSDTC-svchost.exe — 3556.log

  • Wartość MemoryBufferSize (REG_DWORD) to rozmiar buforu cyklicznego, w którym są przechowywane komunikaty śledzenia. Jeśli ta wartość jest ustawiona na 0, śledzenie pamięci jest wyłączone. Domyślnie ta wartość to 10 MB. Może być konieczne zwiększenie tej wartości, jeśli włączysz pełne śledzenie.

  • Wartość DebugOutEnabled (REG_DWORD) włącza lub wyłącza dane wyjściowe debugera. Jeśli wartość jest niezerowa, dane wyjściowe są włączone. Domyślnie ten Output klucz rejestru jest wyłączony. Po zmianie konfiguracji śledzenia błędów menedżera połączeń zmiany zostaną wprowadzone, gdy proces ładujący plikMsdtcprx.dll zostanie odtworzony. Na przykład zmiany konfiguracji śledzenia błędów menedżera połączeń wchodzą w życie po odtworzeniu procesu usługi MS DTC.

Alternatywnie możesz utworzyć plik .reg, a następnie zaimportować plik za pomocą Redaktor rejestru. Aby to zrobić, wykonaj następujące kroki.

  1. Utwórz nowy plik .reg zawierający następujący przykład kodu:

    Windows Registry Editor Version 5.00
    [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSDTC\Tracing]
    [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSDTC\Tracing\Output]
    "DebugOutEnabled"=dword:00000000
    "TraceFilePath"=""
    "MemoryBufferSize"=dword:0000000a
    "ImageNameInTraceFileNameEnabled"=dword:00000001
    [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSDTC\Tracing\Sources]
    "TRACE_MISC"=dword:00000000
    "TRACE_CM"=dword:00000000
    "TRACE_TRACE"=dword:00000000
    "TRACE_SVC"=dword:00000000
    "TRACE_GATEWAY"=dword:00000000
    "TRACE_UI"=dword:00000000
    "TRACE_CONTACT"=dword:00000000
    "TRACE_UTIL"=dword:00000000
    "TRACE_CLUSTER"=dword:00000000
    "TRACE_RESOURCE"=dword:00000000
    "TRACE_TIP"=dword:00000000
    "TRACE_XA"=dword:00000000
    "TRACE_LOG"=dword:00000000
    "TRACE_MTXOCI"=dword:00000000
    "TRACE_ETWTRACE"=dword:00000000
    "TRACE_PROXY"=dword:00000000
    "TRACE_KTMRM"=dword:00000000
    "TRACE_VSSBACKUP"=dword:00000000
    
  2. Wybierz pozycję Uruchom>wszystkie programy>Akcesoria>, wpiszregedit, a następnie kliknij przycisk OK.

  3. W menu Plik wybierz pozycję Importuj.

  4. Znajdź plik utworzony w kroku 1, a następnie wybierz pozycję Otwórz. Zostanie wyświetlone okno dialogowe Redaktor Rejestru.

  5. Wybierz przycisk OK.

  6. W menu Plik kliknij polecenie Wyjdź.

Efekt wydajności

Domyślnie funkcje śledzenia są wyłączone w systemie Windows. W związku z tym na zwykłą instalację nie ma żadnego wpływu na wydajność.

Nie włączaj funkcji śledzenia na komputerach produkcyjnych, chyba że specjalista ds. obsługi klienta firmy Microsoft wskazuje, że informacje śledzenia są wymagane do zdiagnozowania problemu. Śledzenie może mieć wpływ na wydajność komputera. Najpierw musisz znaleźć problem i musisz go rozwiązać. Następnie natychmiast wyłącz funkcję śledzenia.

Konfiguracja klastra

W przypadku instalacji klastra upewnij się, że wszystkie wpisy rejestru we wszystkich węzłach zawierają te wpisy rejestru. W przypadku każdego węzła, który nie ma tych wpisów rejestru, kod klastra ignoruje wpisy rejestru w rejestrze udostępnionym, ponieważ wpisy rejestru nie istnieją w lokalnym rejestrze komputerów.