Windows system >> Windowsの知識 >  >> Windows XPシステムチュートリアル >> XPシステムアプリケーションスキル >> WinXPのシステム障害の原因となるDLLファイルの見つけ方

WinXPのシステム障害の原因となるDLLファイルの見つけ方

  

WinXPの実行中、ほぼすべてのプログラムがDLLプログラムを使用していますが、多くのシステムではソフトウェアが失敗していることが多くあります。 DLLプログラムが原因で、今回はバックグラウンドで多くのDLLプログラムが表示されますが、システム障害の原因となっている原因をどのようにして特定できますか?以下のシリーズでは、ケースを通じて解決策を説明します。

ケース再生:不正な操作の後、WinXPの'コンパニオン&'を検索;&'になり、ホワイトボード'、それだけで、'コントロールパネル'で'ユーザーアカウント'アイテムはまた「顔なし」であるように見えます。 [スタート]をクリックして[ヘルプとサポート]をクリックすると、マウスが点滅しますが、[ヘルプとサポート]プログラムインターフェイスのトレースが表示されることはありません。

ケーススタディ:Xiao Bianは、システム内のDLLファイルがログアウト、紛失、または破損したと考えています。しかし、WinXPのほとんどすべてのプログラムは何百ものDLLファイルに呼び出される必要があります通常の方法で一つずつ分析を探すのであれば、それは干し草の山から針を見つけることと同じです。 3つのプログラムが同時に「破壊」されることを考えると、それらは同じ(または複数の)DLLファイルの影響を受けるはずです。これを行うには、上記の3つのプログラムによって一緒に使用されるDLLファイルを見つけて、それから舞台裏の殺人者から見つけなければなりません。

検索と比較

手順1:'検索アシスタント>から始めましょうまず、その "生涯履歴"を調べます。 WinXP搭載の別のコンピュータで[検索アシスタント]>を開き、Ctrl + Alt + Delキーを押して[タスクマネージャ]を開き、[アプリケーション]タブで[']を選択します。アシスタントを検索して右クリックし、[プロセスに移動]を選択します。これは、Explorer.exe(リソースマネージャ)の一部であることがわかります。

手順2:「ヘルプとサポート」が「Helpctr.exe」プロセスに属していることを確認するには、同様の方法を使用しますが、「ユーザーアカウント」では、観察および比較の方法で帰属プロセスを見つけることしかできません。 Mshta.exe

ヒント

[ユーザーアカウント]をオンまたはオフにすることで、[タスクマネージャ]での変更を比較することで、所属するプロセスを確認できます。また、&'を開くこともできます。アシスタントを検索する場合は、[コマンドプロンプト]の[コマンドプロンプト]に「ldsklist /fo table> C:acc1.txt」と入力し、プログラムの入力後に[コマンドプロンプト]に「ldklist」と入力します。 /fo table> C:acc2.txt< c:acc2.txt> C:acc2.txt> C:acc.txt< c:acc2.txt>を比較するには、fcコマンドを使用します。プロセス

手順3:コンピュータを再起動しますソフトウェアLISTDLLSを確認してください。ここでソフトウェアをダウンロードし、次にlistdlls.exeをC:Windowsに移動し、Ctrl + Rを押して「実行」ボックスを開き、「ldd; cmd」と入力して「コマンドプロンプト」と入力します。

listdlls -r explorer.exe> C:explorer1.txt。

[コマンドプロンプト]で[検索アシスタント]を開き、次のように入力します。listdlls -r explorer.exe> C:explorer2.txt

最後にfcコマンドを使用します。比較:

fc C:explorer1.txt C:explorer2.txt> C:explorer.txt

これにより、C:explorer.txtファイルが開きます。比較後の追加ファイルは、検索アシスタントによって呼び出されたDLLファイルです。

ヒント

ListDllsの使い方は次のとおりです。listdlls [-r] [プロセス名pid]またはlistdlls [-r] [-d dllname]

手順4:再起動コンピュータで[ヘルプとサポート]で使用されているDLLファイルを取得するには、コマンド「listdlls -r helpctr.exe> C:helpctr.txt'」を使用します。ここでの再起動は、メモリから使用されていないDLLファイルをアンロードすることです。

手順5:再起動し、'ユーザーアカウント'が使用するDLLファイルを取得するには、' listdlls -r mshta.exe> C:mshta.txt'を使用します。

最後の"真の激しい"のフィルタリング
< p>ファイルディレクトリに' srchasst'、'すべての検索アシスタント'が含まれるDLLファイルを分析します。ファイル残りのファイルは、C:Windowssystem32ディレクトリ内のsxs.dll、vbscript.dll、jscript.dllファイルです。上記のファイルはhelpctr.txtファイルとmshta.txtファイルで "Search"メソッドを使って見つけることができますが、 "犯人"は3つではないようです。

元のコンピュータに戻ると、3つのファイルがすべて存在し、破損していないことがわかりました。 regsvr32コマンドで登録してください。もちろん、(コマンドregsvr32 jscript.dllを使用して)jscript.dllファイルを登録した後、"ホワイトボード"プログラムはついにその美しい フェイスを復元しました。

最後に、システム内の多くのソフトウェア障害はDLLファイルエラーが原因であることを説明します。これまでは、DLLファイルが紛失したかどうかにより注意を払っていましたが、実際には、DLLファイルが正常に登録されなかった原因はまだたくさんあります。この記事に記載されている方法を読んだ後、我々は簡単に失敗の原因となったDLLファイルを見つけることができ、そして最善の解決策を与え、そして最後に問題を解決します。

Copyright © Windowsの知識 All Rights Reserved