Uwaga
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Ten artykuł zawiera rozwiązanie 0x0000007F STOP, 0x00000008 komunikat o błędzie na komputerze z powodu określonego błędu procesora. Ten komunikat o błędzie może być wyświetlany, gdy w rejestrze ESP procesora uruchomionego na komputerze wystąpi błąd jedno bitowy.
Oryginalny numer KB: 842465
Symptomy
Na komputerze z co najmniej jednym procesorem Intel Xeon lub z innymi procesorami system Windows może wyświetlić komunikat o błędzie Zatrzymaj podobny do następującego przykładu:
STOP 0x0000007F (0x00000008, 0x00000000, 0x00000000, 0x00000000) UNEXPECTED_KERNEL_MODE_TRAP
W przypadku wystąpienia tego problemu spełnione są następujące warunki:
- Pierwszy parametr błędu zatrzymania to "0x0000008". (Ten błąd jest wyjątkiem o podwójnej błędzie).
- Ze względu na błąd jedno bitowy w górnej połowie rejestru ESP, wartość w rejestrze ESP znajduje się poza zakresem stosu bieżącego wątku.
Przyczyna
Ten problem występuje, jeśli co najmniej jeden procesor na komputerze:
Wymagaj aktualizacji mikrokodu, która nie jest stosowana przez podstawowy system danych wejściowych/wyjściowych komputera (BIOS).
Są uszkodzone lub uszkodzone.
Działają poza określonymi zakresami temperatury, zasilania lub innych warunków.
Rozwiązanie
Aby rozwiązać ten problem, użyj jednej z następujących metod rozwiązywania problemów.
Metoda 1. Określanie, czy procesor uruchamia poprawkę produkcyjną aktualizacji mikrokodu
Aktualizacja mikrokodu poprawia błędy lub błędy w wewnętrznie zaimplementowanej logice procesora. Aktualizacje mikrokodu nie mogą być trwale przechowywane w samym procesorze i muszą być ładowane do procesora za każdym razem, gdy komputer zostanie uruchomiony. Aktualizacje mikrokodu mogą być stosowane przez system BIOS komputera lub sterownik Update.sys.
Aby zidentyfikować poprawkę aktualizacji mikrokodu, która jest obecnie stosowana do procesora Intel zainstalowanego na komputerze, wykonaj następujące kroki:
Pobierz narzędzie do identyfikacji procesora Intel.
Zainstaluj i uruchom narzędzie do identyfikacji procesora Intel na komputerze, na którym występują objawy.
Zanotuj następujące informacje o procesorze dla każdego procesora:
- Rodzina procesorów CPU
- CPU Model
- Krok po procesorze CPU
- Poprawka procesora CPU
Wartości Rodzina procesora CPU, Model procesora CPU i Stepping procesora CPU identyfikują określony typ procesora. Wartość poprawek procesora CPU identyfikuje poprawkę zastosowanej aktualizacji mikrokodu.
Skontaktuj się z producentem komputera, aby ustalić, czy wersja aktualizacji mikrokodu jest najnowszą wersją dostępną dla określonego procesora. Jeśli wersja nie jest najnowsza, poproś producenta komputera o zaktualizowany system BIOS, który zastosuje najnowszą poprawkę aktualizacji mikrokodu.
Objawy opisane w tym artykule zaobserwowano najczęściej na procesorach Intel Xeon, które mają rodziny procesorów CPU, modelu procesora CPU i procesora CPU Stepping wartości odpowiednio 15, 2 i 9 oraz zainstalowane na płytach głównych korzystających z mikroukładów ServerWorks. (Rodziny procesorów CPU, modelu procesora CPU i procesora CPU Stepping wartości szesnastkowe są odpowiednio F, 2 i 9). Te procesory wymagają poprawnego działania wartości poprawki 0x18 lub nowszej. (0x18 jest równoważna wartości dziesiętnej 24).
Wartość poprawki 0 wskazuje, że system BIOS komputera nie ma poprawnej aktualizacji mikrokodu dla procesorów zainstalowanych na komputerze. Należy zaktualizować system BIOS przy użyciu poprawki aktualizacji mikrokodu, która obsługuje używane procesory.
Firma Intel zaleca zastosowanie najnowszych poprawek aktualizacji mikrokodu, aby uniknąć znanych problemów.
Metoda 2. Ustalenie, czy procesor jest uszkodzony lub uszkodzony
Jeśli procesory zainstalowane na komputerach, których dotyczy problem, mają zastosowaną poprawkę aktualizacji mikrokodu produkcyjnego, a objawy opisane w tym artykule nie występują na wszystkich komputerach tego samego modelu, na których działają te same procesory, procesory mogą być wadliwe.
Aby ustalić, czy procesor jest uszkodzony lub uszkodzony, przenieś procesor do komputera, który nie ma żadnych objawów.
Ostrzeżenie
Jeśli zmienisz procesory, postępuj zgodnie z instrukcjami dostarczonymi przez producenta komputera lub zaangażuj odpowiednio wykwalifikowanych techników sprzętowych, aby zmienić procesory.
Jeśli objawy nadal występują na oryginalnym komputerze z procesorem zastępczym, ale nie na innym komputerze z oryginalnym procesorem, problem prawdopodobnie nie jest spowodowany uszkodzonym lub wadliwym procesorem.
Jeśli objawy nie będą nadal występować na oryginalnym komputerze z procesorem zastępczym, ale występują na innym komputerze z oryginalnym procesorem, problem prawdopodobnie jest spowodowany uszkodzeniem lub wadliwym procesorem. W takim przypadku skontaktuj się z producentem komputera, aby zastąpić oryginalny procesor.
Jeśli komputer, na którym występują objawy opisane w tym artykule, ma więcej niż jeden procesor, przenieś wszystkie procesory na inny komputer. Jeśli wyniki wskazują, że co najmniej jeden z tych procesorów może być wadliwy, procesory przenoszą pojedynczo, aby określić procesor lub procesory, które mogą być wadliwe.
Metoda 3. Określanie, czy procesor działa poza określonym zakresem warunków środowiskowych
Nadmierna temperatura pomieszczenia, zła wentylacja lub akumulacja pyłu może spowodować, że składniki elektroniczne, takie jak procesory, zachowują się erratycznie. Nieprawidłowe wentylatory lub zablokowane przejścia powietrzne mogą powodować problemy z wentylacją. Jeśli wnętrze lub przejścia powietrza komputera są zakurzone, lub jeśli komputer wykazuje objawy, gdy jest zainstalowany tylko w określonej lokalizacji, przegrzanie systemu może być czynnikiem. Upewnij się, że składniki są czyste, że wentylatory działają prawidłowo i że przejścia powietrzne nie są utrudnione. Ponadto upewnij się, że pomieszczenie, w którym znajduje się komputer, jest odpowiednio wentylowane. Temperatura pomieszczenia musi znajdować się w zakresie operacyjnym określonym przez producenta komputera.
Napięcie, które jest wyższe lub niższe niż określone lub które się zmienia, może spowodować, że procesory i inne składniki elektroniczne zachowują się erratycznie. Nieprawidłowe lub niespójne napięcie zasilania głównego, przeciążone lub nieprawidłowo działające zasilacze w komputerze lub nieprawidłowo działające obwody płyty głównej mogą spowodować nieprawidłowe lub niespójne napięcie, które ma być dostarczone do procesora. Skontaktuj się z odpowiednimi technikami, aby sprawdzić, czy którykolwiek z tych problemów może być przyczyną objawów.
Więcej informacji
Rejestr ESP jest również znany jako rejestr wskaźnika stosu. Stos to struktura danych w pamięci używana do przechowywania informacji o bieżącym stanie wykonywania wątku. Stos wątku służy do śledzenia w toku wywołań funkcji, parametrów przekazywanych do tych funkcji i zmiennych używanych przez te funkcje. Wartość w rejestrze ESP powinna wskazywać bieżącą górę stosu. Jeśli wartość w ESP jest niepoprawna, może wskazywać nieprawidłowe informacje lub nieprawidłowy adres. Jeśli wartość w esp wskazuje nieprawidłowy adres, może wystąpić wyjątek podwójnego błędu.
Aby ustalić, czy błąd zatrzymania jest wynikiem błędu jedno bitowego w rejestrze ESP, wykonaj następujące kroki:
Zainstaluj narzędzia microsoft debugowania dla systemu Windows.
Uruchom narzędzie WinDbg, wybierz pozycję Plik, wybierz pozycję Otwórz zrzut awaryjny, aby zlokalizować plik zrzutu pamięci zawierający informacje o błędzie zatrzymania, a następnie wybierz przycisk OK.
Uruchom polecenie ,
!analyze -v
aby uzyskać automatyczną analizę pliku zrzutu.Sprawdź dane wyjściowe
!analyze -v
polecenia, aby sprawdzić, czy dane wyjściowe zawierają warunek podwójnego błędu. Jeśli istnieje warunek podwójnej awarii, uruchom.tss 28
polecenie , aby wyświetlić stan systemu w momencie podwójnego błędu. Ogólnie rzecz biorąc, ta wartość jest stosunkowo zbliżona do wartości rejestru EBP.Uruchom polecenie ,
!thread
aby wyświetlić zakres stosu bieżącego wątku. Wyjątek podwójnego błędu występuje zwykle, gdy wartość rejestru ESP znajduje się poza zakresem adresów zarezerwowanych dla stosu dla bieżącego wątku.Gdy ten konkretny wątek jest uruchomiony, wartość rejestru ze stanem rejestracji musi zawsze należeć do wartości bazowej stosu (f5d2a000) i wartości Limit (f5d27000). Ogólnie rzecz biorąc, wartość rejestru ESP jest stosunkowo zbliżona do bieżącej wartości (f5d29c9c). (Bieżąca wartość jest również między wartością podstawową stosu a wartością Limit).
Możesz również sprawdzić wartości zakresu stosu
!pcr
, uruchamiając polecenie .Wartość
NtTib.StackLimit
reprezentuje niższy limit zakresu stosu. WartośćNtTib.StackBase
reprezentuje ostatnią wartość ESP. WartośćNtTib.StackBase
może być porównywana z bieżącą wartością rejestru ESP, aby pomóc określić, czy w bieżącej wartości rejestru esp występuje błąd jedno bitowy.Uruchom polecenie ,
.formats esp ^ ebp
aby wyświetlić różnice w wartościach między rejestrami ESP i EBP. Wartość wskaźnika stosu w rejestrze EBP będzie bliska wartości wskaźnika stosu w rejestrze ESP, z wyjątkiem błędu jedno bitowego. To polecenie często ujawnia pojedynczy bit o wysokiej kolejności, który zawiera błąd, zwłaszcza gdy błąd jest wyświetlany w formacie binarnym.Jeśli zignorujesz niższe, najmniej znaczące cyfry, różnica jedno bitowa między rejestrami ESP i EBP wynosi 00000000 00001000 00000000000 000000 w formacie binarnym. Różnica jest 00080000 w formacie szesnastkowym.
Ten błąd jedno bitowy powoduje, że rejestr ESP zawiera niepoprawną wartość. Nieprawidłowa wartość powoduje wyjątek podwójnego błędu, sprawdzanie błędów i awarię systemu.
Aby uzyskać więcej informacji na temat konkretnego sprzętu, wykonaj następujące kroki:
Użyj polecenia ,
!cpuinfo
aby uzyskać informacje o wersji procesora CPU.Chociaż wartość Update Signature może nie zawsze być dokładnie zgłaszana podczas analizowania pliku zrzutu awaryjnego, pole Aktualizuj sygnaturę zazwyczaj wskazuje poprawkę aktualizacji mikrokodu, która jest stosowana do procesora CPU.
!pcitree
Użyj polecenia , aby znaleźć identyfikatory dostawcy i urządzeń (Identyfikatory VenDev) dla istniejących urządzeń interfejsu pci (Peripheral Connect Interface).Dla każdego wymienionego urządzenia PCI pierwsza 8-cyfrowa wartość szesnastkowa (DWORD) w każdym wierszu jest identyfikatorem VenDev. Identyfikator dostawcy jest w rzeczywistości drugą 4 cyfrą tej wartości. Na przykład pierwsze urządzenie, które znajduje się na liście, ma identyfikator VenDev 0x00141166. Identyfikator urządzenia jest 0x0014, a identyfikator dostawcy jest 0x1166. Identyfikator dostawcy dla serverWorks jest 0x1166. Dane wyjściowe pochodzą z procesora zainstalowanego na płycie głównej korzystającej z mikroukładów ServerWorks.
Produkty innych firm omówione w tym artykule są wytwarzane przez producentów niezależnych od firmy Microsoft. Firma Microsoft nie udziela żadnych gwarancji, dorozumianych ani żadnego innego rodzaju, w odniesieniu do wydajności lub niezawodności tych produktów.