[System Environment] | |||||||||||
“Error Code Lookup”ツールでエラー・コードから原因を探る
|
|||||||||||
|
解説 |
システム管理者として障害対応していると、アプリケーションやWindowsシステムが、エラー・ダイアログやログ・ファイルなどに出力したエラー番号から、原因を調査しなければならない場面に出くわす。通常はエラー番号だけでなく、適切なエラー・メッセージなども表示されるようになっているのだが、めったに発生しないようなエラーでは、単にエラー番号しか表示されないことがあるからだ。
このエラー番号でヘルプやマイクロソフトのサポート技術情報、各種インターネット・サイトなどを検索し、目的の情報が見つかればよいが、現実はそううまくいかないケースが多い。せめてエラー番号だけでなく、どのコンポーネントがエラーの原因になっているのかを類推できれば、検索に使うキーワードなどを工夫して、情報収集の作業を効率化できるはずだ。
このような目的に使える“err.exe”というコマンドライン・ツールがマイクロソフトから無償提供されている。
操作方法 |
err.exeは、以下のダウンロード・サイトから入手できる。
タイトルから考えると、err.exeは、Exchange Serverが発行するエラー番号を検索するツールとして提供されているようだが、実際にはExchange Serverだけでなく、多くのアプリケーションが使用するWin32エラーはもちろんのこと、体系の異なるNTSTATUS、HRESULT、LDAPエラーや、さらにはOutlook ExpressのエラーやHTTP応答のような限られた状況の番号まで検索できるので、Windows環境でのエラー番号検索に広く利用できる。ただし、提供されているのは英語版のみである(サーバOSだけでなく、Windows XPのようなクライアントOS上でも動作する)。
上記サイトから、自己解凍ファイルをダウンロードし、適当なフォルダを指定してファイルを解凍する。すると“Err”というフォルダが作成され、これ以下に実行プログラム(err.exe)と簡単なドキュメント(“Error Code Lookup Tool.doc”)が解凍される。
まずはさっそく実行してみよう。
|
|
errコマンドの実行例(パラメータとして“c0000142”を指定) |
これは、例として“c0000142”というエラー・コードをerr.exeのパラメータとして指定した。この場合は、ntstatus.hというヘッダ・ファイルのSTATUS_DLL_INIT_FAILEDという識別子がコードに対応することが見つかり、コメントなどの付随情報が表示されている。はっきりとは分からないが、これを見れば、どうやら“c0000142”はDLLの初期化に失敗したことによるエラーのようであることが分かる。
このようにerr.exeは、Windows OSやExchange Serverなどのプログラムで使われている(インクルードされている)ヘッダ・ファイル(*.h)の情報を持っており、ここから与えられたコードを検索して、合致した情報(ヘッダでその値がリターン・コードとして指定されている識別子と付随情報)を表示してくれるのだ。検索にあたっては、与えられたパラメータを16進/10進変換して双方で検索してくれる。
原稿執筆時に入手したバージョン(最終コンパイル日時:2003年3月31日 14:39:19)では、winerror.hやntstatus.hなど、172個のファイルに含まれる1万9871個のリターン・コードから検索可能だった(パラメータなしでerr.exeを実行することで、情報が収録されているヘッダ・ファイル一覧が表示される)。
エラー番号だけをパラメータに指定すると、err.exeに収録されているすべての情報から検索が実行される。例えば“100”を指定して検索すると、以下のように複数の情報(13件)が見つかった。
|
|
errコマンドの実行例(パラメータとして“100”を指定) |
実際の障害対応では、エラーが発生したコンポーネントや状況から、これらのうちどれが対応するものなのかを推理しなければならない。一般的には、通常のアプリケーションならwinerror.h、OSの基本的なコンポーネントならntstatus.hといった傾向がある。
ある程度原因が特定できているなら、ヘッダ・ファイルをパラメータに指定して、それらのファイルからのみ検索可能である。例えば“100”を“winerror.h”と“ntstatus.h”からのみ検索するには次のようにする。
|
|
ファイルを絞り込んで検索する |
このようにファイルを指定するには、スラッシュ(/)の直後にファイル名を指定する。ファイル名はいくつでも指定可能である。
また、複数のエラー・コードをパラメータに指定して検索することができる。例えば、
err 100 1000 |
とすれば、エラー・コード“100”の検索と、“1000”の検索が続けて実行され、双方の検索結果が続けて表示される。
この記事と関連性の高い別の記事
- 最近更新されたファイルを特定する方法(TIPS)
- Windowsでサイズの大きなファイルを簡単に見つける方法(TIPS)
- エラーの原因調査に役立つメッセージ・ヘルプを入手する(TIPS)
- 自動更新で修正プログラムがインストールできない場合の対処方法(TIPS)
- 「Microsoftダウンロード センター」を活用する(TIPS)
このリストは、デジタルアドバンテージが開発した自動関連記事探索システム Jigsaw(ジグソー) により自動抽出したものです。
「Windows TIPS」 |
- Azure Web Appsの中を「コンソール」や「シェル」でのぞいてみる (2017/7/27)
AzureのWeb Appsはどのような仕組みで動いているのか、オンプレミスのWindows OSと何が違うのか、などをちょっと探訪してみよう - Azure Storage ExplorerでStorageを手軽に操作する (2017/7/24)
エクスプローラのような感覚でAzure Storageにアクセスできる無償ツール「Azure Storage Explorer」。いざというときに使えるよう、事前にセットアップしておこう - Win 10でキーボード配列が誤認識された場合の対処 (2017/7/21)
キーボード配列が異なる言語に誤認識された場合の対処方法を紹介。英語キーボードが日本語配列として認識された場合などは、正しいキー配列に設定し直そう - Azure Web AppsでWordPressをインストールしてみる (2017/7/20)
これまでのIaaSに続き、Azureの大きな特徴といえるPaaSサービス、Azure App Serviceを試してみた! まずはWordPressをインストールしてみる
|
|