このBSODのソースを見つける方法は?それを修正するには?


8

私はときどき(常に少なくとも都合のいいときに...)Windows 7デスクトップPCでこのBSODを受け取ります。

  Problem signature:
  Problem Event Name:   BlueScreen
  OS Version:   6.1.7601.2.1.0.256.1
  Locale ID:    1033

  Additional information about the problem:
  BCCode:   124
  BCP1: 0000000000000000
  BCP2: FFFFFA8007BBB028
  BCP3: 00000000B2000040
  BCP4: 0000000000000800
  OS Version:   6_1_7601
  Service Pack: 1_0
  Product:  256_1

  Files that help describe the problem:
  C:\Windows\Minidump\010812-16578-01.dmp
  C:\Users\al\AppData\Local\Temp\WER-37500-0.sysdata.xml

ファイルC:\Users\al\AppData\Local\Temp\WER-37500-0.sysdata.xmlが存在しないため(フォルダーは存在するが、「WER」で始まるファイルは存在しないため)、これに関する詳細情報を見つけようとしても、ミニダンプファイルを分析しようとすると、次のような結果になります。

Bug Check Code: 0x00000124
Parameter 1:    00000000`00000000
Parameter 2:    fffffa80`07bbb028
Parameter 3:    00000000`b2000040
Parameter 4:    00000000`00000800
Causing driver: hal.dll
Address:    hal.dll+12a3b
Processor:  x64
Crash address:  ntoskrnl.exe+7cc40
CPU count:  4
Major ver:  15
Minor ver:  7601
Dump size:  283,576 

そして:

Filename:       ntoskrnl.exe
Addr. in Stack: ntoskrnl.exe+18d513
From addr:      fffff800`02a18000
To addr:        fffff800`03001000
Size:           0x005e9000
Timestamp:      0x4e02aaa3
Time string:    6/22/2011 9:53:23 PM
Product name:   Microsoft® Windows® Operating System
File desc:      NT Kernel & System
File ver:       6.1.7601.17640 (win7sp1_gdr.110622-1506)
Company:        Microsoft Corporation
Full path:      C:\Windows\system32\ntoskrnl.exe        

まあ、hal.dllおよびntoskrnl.exeOSの一部であり、私はそれらの「ドライバー」をアップグレードするために何かできることがあるようには思えません。

ハードウェアが完璧であることは知っています(BIOSのRAM電圧など)。これとまったく同じシステムがUbuntu 8およびUbuntu 10(トリプルブート構成)で完全に機能するためです。問題は間違いなくシステムソフトウェアにありますが、どのようにしてそれを見つけるのですか?


1
Windows 7がオープンソースだった場合、私たちはあなたを助けることができます...
m0skit0

3
[ここ](sevenforums.com/crash-lockup-debug-how/…からの手順のいずれかを実行しますか?
AndrejaKo

2
@AndrejaKoこれは素晴らしいリソースです。私が探していたもののように見えます。回答として再投稿してください。今は+1をありがとう。
永遠の学習者2012年

1
@Eternal Learner回答への単純なリンクは、ここではSuperUserでの回答とは見なされません。回答の内容全体をSuperUser回答にコピーする場合を除き、コメントのままにしておく必要があります。これの主な理由は、リンク腐敗とサイバースペースから消えるウェブサイトです。2番目の理由は、SuperUserがフォーラムではないことです。
Moab

回答:


4
  1. Windows用デバッグツールをインストールします
  2. インストール後、スタートメニューからWinDbgを開きます。
  3. [ファイル]> [シンボルファイルのパス]をクリックして入力します (C:\ SymbolCacheを任意のパスに置き換えます)SRVC:\SymbolCachehttp://msdl.microsoft.com/download/symbols
  4. [ファイル]> [クラッシュダンプを開く]をクリックし、%SystemRoot%(通常はC:\ WINDOWSまたはC:\ WINNT)のmemory.dmpファイルを開くか、フルダンプを無効にしている場合は%SystemRoot%\ Minidumpの最新のファイルを開きます。
  5. 問題のあるドライバーは以下のように表示されます:これと同様 Probably caused by : usbhub.sys ( usbhub!UsbhTrapFatalTimeout_x9f+28 )ですが、!analyze -vリンクをクリックして詳細なスタックトレースを取得できます。

これは、管理者向けではなく、ドライバー開発者に適しています。
永遠の学習者2012年

@EternalLearnerしかし、BSODソースが表示されます。これは良いことです。
kinokijuf 2012年

はい、それは良いことですが、その情報はすべてから既に入手していますBlueScreenView。の唯一の利点は!analyze -v、ソースコードがあればそれを表示できることntoskrnl.exeです。私はの開発者ではないため、役に立ちません。それはひどく肥大化し、システムの安定性をさらに損なうという事実は別として。それをインストールすることは、ドライバーを開発するときにのみ正当化されます。
永遠の学習者2012年

@EternalLearnerそれでは私はそれ以上の情報を得ることは不可能だと思います。
kinokijuf

2

より簡単な方法は、BlueScreenViewを使用することです。「スタック内のアドレス」列を見ると、問題のある呼び出しが最初にどこから来たかがわかります。これは、この列にエントリがある最後の行です。

ドライバーファイル名を取得すると、それが属するベンダー/アプリケーション/デバイスを逆追跡できるため、高い確率で原因を特定できます。


1
BlueScreenViewは、私が質問に投稿した情報を正確に受け取った場所です。バックトラックは私が最初に投稿したもので止まりますntoskrnl.exe+18d513。@AndrejaKoが投稿したコメントは、これまでのところ最良の回答です。
永遠の学習者
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.