En me connectant à Windows 7 aujourd'hui, mon PC immédiatement sous BSOD. En utilisant WhoCrashed, je reçois le rapport suivant:
-
- Le mar 12.02.2013 13:56:20 GMT votre ordinateur s'est écrasé
- Fichier de vidage sur incident: C: \ Windows \ Minidump \ 021213-27390-01.dmp
- temps de disponibilité: 00:00:25
- Ceci est probablement dû au module suivant: ntoskrnl.exe (nt + 0x1AA698)
- Code de vérification: 0x1000007E (0xFFFFFFFFC0000096, 0xFFFFF80003610698, 0xFFFFF8800614C7B8, 0xFFFFF8800614C010)
- Erreur: SYSTEM_THREAD_EXCEPTION_NOT_HANDLED_M
- chemin du fichier: C: \ Windows \ system32 \ ntoskrnl.exe
- produit: Système d'exploitation Microsoft® Windows®
- entreprise: Microsoft Corporation
- la description: Noyau NT & amp; Système
- Description du contrôle de bogue: Cela indique qu'un thread système a généré une exception que le gestionnaire d'erreurs n'a pas interceptée.
Cela semble être un bogue de pilote logiciel typique et n'est probablement pas causé par un problème matériel. Le crash est survenu dans le noyau Windows. Ce problème est peut-être causé par un autre pilote qui ne peut pas être identifié pour le moment.
-
À présent, mon PC s'était écrasé / gelé de temps en temps et sur des tâches lourdes de performances spécifiques dans le passé, mais la cause en était (je pensais) était un slot RAM défectueux sur ma carte mère. Garder cet emplacement vide a arrêté les crashs.
Aujourd'hui, il s'est écrasé de nouveau et je n'ai rien changé au matériel.
Je sais que je pourrais faire le tour de Google en lisant ce que signifie ce code de vérification, mais récemment, je me suis rendu compte qu’une expérience personnelle de quelqu'un (avec le même problème / vérification) est beaucoup plus utile, surtout que cette personne aurait Solution.
Merci beaucoup!
Réponses:
Dans ce cas, un thread a rencontré l'exception
Cette erreur a été générée par la CPU elle-même. Certains codes ont essayé d'exécuter une instruction qu'il n'est pas autorisé à faire. Cela est probablement dû à une corruption de mémoire. où le code du noyau a essayé d'exécuter des données indésirables.
Ce genre d'erreur est vraiment impossible à cerner. Il y avait une erreur dans "noyau" code qui n'aurait pas dû arriver. Il est extrêmement improbable qu'il existe un bogue logiciel dans le code de Microsoft. qui est quand vous commencez à regarder ailleurs.
Overclocking . Parfois, des choses extraordinairement étranges peuvent se produire lorsque vous overclockez. Espérons que tout le monde envoie à Microsoft ses vidages mémoire sur incident; parce que Microsoft les étudie. Une erreur courante qu'ils obtiendraient est lorsque la CPU exécute l'instruction:
C'est une opération extraordinairement simple que le processeur peut exécuter. il s'agit simplement de définir un registre interne de la CPU
EAX
à zéro. Il n'y a pas façon cela peut échouer sauf quand vous overclockez - ou d'autres problèmes physiques.tl; dr: Si vous avez éliminé le logiciel, c'est le matériel.
Mettre à jour : Méthodologie de dépannage
Je voulais mentionner les détails que j'ai traversés, presque stupidement en regardant cette erreur.
Le premier était le code de vérification de bugs actuel:
Binging que sur Google donne la page de documentation Microsoft
Je sais par expérience d’être développeur que si mon application (ou l’un de ses threads) rencontre "exception" et je ne le fais pas "manipuler "L'exception, Windows finira par le gérer en tuant l'application. Si une exception non gérée se produit en mode noyau, le système d'exploitation n'a d'autre choix que de le gérer en arrêtant le noyau. Ce qui m'intéressait, c'est lequel exception était jeté. je assumé (à tort, il s’avère) c’était un "Violation d'accès" .
Je sais que toutes les vérifications de bogues sont accompagnées de quatre paramètres décrivant ce qui s'est réellement passé:
Mais qu'est-ce que cela signifie? Nous revenons ensuite à la page de documentation, qui ne les décrit pas. Mais ça Est-ce que dire:
Excellent. Et cette autre page documente les paramètres:
C'est ce que je voulais le code d'exception qui n'a pas été traité . Dans votre cas, c'était le code d'exception:
Je sais, par expérience, que vous utilisez Windows 64 bits, car ce code a une longueur de 64 bits. Vraiment, je ne veux que les 32 bits inférieurs:
Normalement, je m'attendais à trouver ce code d'erreur dans
winerror.h
dans mon répertoire de développement; mais ce n'était pas là. Il a fallu un peu de Binging, mais j'ai trouvé cette recherche:conduis-moi à une page sur winehq , qui a déclaré la constante:
Binging pour cette constante me mène un page de documentation Microsoft canonique :
Je sais aussi que cette exception est levée par la CPU lui-même . je le sais parce que "Instruction privilégiée" signifie que vous avez essayé d'exécuter une instruction de la CPU que vous n'êtes pas autorisé. Je peux aussi le savoir parce que la page s'appelle Exceptions matérielles .
Nous en sommes donc au stade où du code était en cours d’exécution, qui tentait d’exécuter une instruction du processeur qu’il n’était pas censé exécuter. Il y a deux possibilités:
Étant donné que le code de Microsoft est constamment testé sur le terrain dans des millions de machines chaque jour, il est plus probable:
Quoi qu'il en soit, c'était Comment J'ai travaillé sur cette vérification. Peut-être qu'en sachant comment je suis passé par là, cela peut vous aider la prochaine fois que vous rencontrez un problème.
la source