SSブログ

アプリがBSODを出す理由は大半がウィルスソフト [自作PC]

もはや知らない人が大半であろうが、Windows NT系OS(2000/XP/Vista/7)ではアプリケーションが直接BSODを出すことはない。ちゃんとしたカーネルモデルを作ったからだ。
が、Windowsを使っている人だったら、アプリケーションを起動したときに何回か見たことがあるだろう。

BSODの画像
http://www.google.co.jp/images?q=BSOD&um=1&ie=UTF-8&source=univ&ei=i_avTOGIEoWlcdKF1eMN&sa=X&oi=image_result_group&ct=title&resnum=4&ved=0CDoQsAQwAw&biw=1193&bih=1026

BSODが出るパターンはドライバが異常を訴えた場合しか無いので、大体以下のパターンに分けられる

・アプリケーションがハードウェアの固有の機能を使うなどドライバが動き出す場合
 グラフィックカードでゲームをやろうとして3D機能を使う場合がこれにあたる。
・ウィルス対策ソフトの不具合
 Windowsはファイルを管理するためにNTFSやFAT32を使うが、それらはドライバであり、さらにウィルス対策ソフトはファイルシステムのためのドライバ(フィルタドライバ)をインストールしている。
・そもそもハードウェアが壊れているので、制御ソフトであるドライバが正常に動作しなかった場合
 ディスクが破損していたり、熱暴走で異常状態が発生した結果に起きる。オーバークロックなど。

ストレージが致命的でない場合、Windowsはクラッシュダンプファイルを作成する。Microsoftはそのクラッシュダンプファイルの解析ツール(WinDbg)を配布しているので、簡単に原因を探ることができる。

http://www.microsoft.com/japan/whdc/devtools/debugging/debugstart.mspx

通常Windowsはc:\windows\memory.dmp(システムのプロパティで指定されている %SystemRoot%\MEMORY.DMP)に保存されるので、WinDbgのメニューから読み込む

さらに解析を始める。WinDbgのヘルプにもあるように、システムのイメージファイルを指定した後、!analyze -vとすると、BSODがでたときにいろいろ書いてある文字よりも詳細な情報が表示される。

このときに、エラーの種別が表示される。

・IRQL_NOT_LESS_OR_EQUAL
 かなりよく見るエラーだが、これ自体の意味はドライバ開発者でもわからないことが多い。ひじょーにわかりやすく書くとアクセス保護違反だが、だからといってそのドライバが直接の原因ではない場合もある。あくまでもドライバの内部状態が異常を起こしたという意味であって、その原因はその前段が原因かもしれないのでわからない。例えばウィルスソフトの場合では、ストレージが破損していて、ウィルスソフトがデータの読み込みや書き込みに失敗した結果出ることもありうる。大抵の場合、通常は起こりえないことが起きたためにエラーチェックをすり抜けてしまい、ソフトウェアが異常状態になった場合に発生している・・・と思う。

また、どのモジュール(ドライバ)がエラーを起こしたかもチェックできる。igdxxx.sysとかあったらIntelのグラフィックドライバが何らかの理由でごねたと分かるし、ntfs.sysとかいったらファイルシステムがごねたとわかる。~~.sysというのはドライバのファイル名なので、c:\windows\system32\driversの下を検索してプロパティを見れば誰が作成者かわかる。

ちなみにGoogleChromeでもBSODが出ると報告されていたがクラッシュダンプを送ってくれと書いていた。

http://www.google.com/support/forum/p/Chrome/thread?tid=09a3e99e2d27574f&hl=en
For all those posting here about BSODs, please send a dump file to the Chrome team via the link Shawn posted earlier.


仕事でドライバを作ることが何回かあるが、「~~やったらでた」だの「~~するとでるんじゃないだろうか」だのという曖昧な報告を受け付けるよりも自分でクラッシュダンプ見たほうが速いし確実だということを常に言っているが、その正しさがGoogleによって証明された。クラッシュダンプファイルが230MBもあるので受け渡し方法が問題ではあるのだが、ドライバを商売にしているところはGoogleのこの姿勢は見習うべきである。
nice!(0)  コメント(0)  トラックバック(0) 
共通テーマ:パソコン・インターネット

nice! 0

コメント 0

コメントを書く

お名前:
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

トラックバック 0

I-O DATA Windows Med..NFL ブログトップ

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。