Windows XP Windows 7 Windows 2003 Windows Vista Windows教程綜合 Linux 系統教程
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟件教程
 Windows教程網 >> Windows XP系統教程 >> 關於XP系統教程 >> 計算機發生故障 dll文件是幕後黑手

計算機發生故障 dll文件是幕後黑手

日期:2017/4/18 10:17:13      編輯:關於XP系統教程

  在用計算機的時候我們會發現有故障發生,有的時候會出現像類似軟件不能正常運行的情況,想這類故障發生的原因到底是什麼呢?在Windows中,幾乎所有應用程序都會用到DLL(動態鏈接庫)文件,它的正常與否關系到軟件能否正常運行。很多軟件故障也和它有直接關系。但應用程序往往會調用幾十個DLL程序,怎麼判斷誰是“罪魁禍首”呢?

  案例回放:在一次非法操作後,windows xp“搜索助理”變成一張“白板”,不僅如此,“控制面板”中“用戶賬戶”項也顯得“面無表情”。點擊“開始→幫助和支持”,鼠標一陣閃爍卻始終不見“幫助和支持”程序界面的蹤影。

  案例分析:憑感覺,筆者認為系統中的某個DLL文件已經注銷、丟失或損壞。但Windows中幾乎每個程序都要調用成十上百個DLL文件,如果按常規方法一個個尋找分析,無異於大海撈針。考慮到三個程序同時“毀容”,應該是受同一個(或幾個)DLL文件的影響。為此必須找到上述這三個程序共同使用的DLL文件,然後,從中找出“幕後真凶”。

  查找與比對

  第一步:先從“搜索助理”入手,先弄清其“身世來歷”。在另外一台裝有windows xp的機子中打開“搜索助理”,同時按Ctrl+Alt+Del鍵調出“任務管理器”,在“應用程序”選項卡中,選中“搜索助理”並右擊,選擇“轉到進程”,呵呵,原來它是Explorer.exe(資源管理器)的一部分。

  第二步:用類似方法可得知“幫助和支持”屬於進程Helpctr.exe,但在“用戶賬戶”中只能用觀察比較的方法查出其歸屬進程mshta.exe。

  小提示

  可通過打開、關閉“用戶賬戶” 的方法比較“任務管理器”中的變化來確定其所屬的進程;也可以在打開“搜索助理”時,在“命令提示符”中輸入“tasklist /fo table>C:\acc1.txt”,在關閉該程序後,在“命令提示符”中輸入“tasklist /fo table>C:\acc2.txt”,然後用fc命令進行比較“fc C:\acc1.txt C:\acc2.txt>C:\acc.txt”,比較得出的多余項即為該程序所屬的進程。

  第三步:重啟電腦,下面要請軟件LISTDLLS出場了。到這裡下載該軟件,然後將listdlls.exe移動到C:\Windows,按Ctrl+R打開“運行”框,輸入“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] [processname pid]或listdlls [-r] [-d dllname]

  第四步:重啟電腦,用命令“listdlls -r helpctr.exe>C:\helpctr.txt”得到“幫助和支持”所使用的DLL文件。此處重啟是為了使已經沒有使用的DLL文件從內存中卸載。

  第五步:再次重啟,用命令“listdlls -r mshta.exe>C:\mshta.txt”得到“用戶賬戶”使用的DLL文件。

Copyright © Windows教程網 All Rights Reserved