web-dev-qa-db-ja.com

Explorer.exeで新しいフォルダーを作成するときにハングを診断する方法

新しいフォルダを作成するときにExplorer.exeがハングするという問題が発生しています。

リソースモニターでAnalyzeWait Chainを使用すると、「Explorer.exeの1つ以上のスレッドがネットワークI/Oの終了を待機しています」と表示されます。

Process Explorerで問題のあるスレッドを見ると、興味深いものは何もありません。

ntdll.dll!ZwWaitForMultipleObjects+0xa 
KERNELBASE.dll!GetCurrentThread+0x36 
kernel32.dll!WaitForMultipleObjectsEx+0xb3 
USER32.dll!PeekMessageW+0x1cd 
USER32.dll!MsgWaitForMultipleObjectsEx+0x2a 
USER32.dll!MsgWaitForMultipleObjects+0x20 
Shell32.dll!SHAppBarMessage+0x41e 
Shell32.dll!DragAcceptFiles+0x2a3c 
Shell32.dll!DragAcceptFiles+0x2a4f 
Shell32.dll!Ordinal211+0x124 
Shell32.dll!SHChangeNotification_Unlock+0x12f4 
USER32.dll!GetSystemMetrics+0x2b1 
USER32.dll!IsDialogMessageW+0x19b 
USER32.dll!IsDialogMessageW+0x1e1 
ntdll.dll!KiUserCallbackDispatcher+0x1f 
USER32.dll!PeekMessageW+0xba 
USER32.dll!PeekMessageW+0x89 
Shell32.dll!SHChangeNotification_Unlock+0xd9f 
Shell32.dll!Ordinal885+0x1407 
SHLWAPI.dll!SHRegGetUSValueW+0x306 
kernel32.dll!BaseThreadInitThunk+0xd 
ntdll.dll!RtlUserThreadStart+0x21

Explorer.exeスレッドを見ていると、ETW(Event Tracing for Windows)について話しているものがかなりあることに気づいたので、Explorer.exeは明らかにトレースを使用しています。

そこで、TraceView.exeを使用して、Explorer.exeトレースを試して聞くことにしました。

問題は、TraceViewには、入手が困難なものが必要なことです... pdb、またはCTLファイル、および.TMFファイルのいずれかです。 Windows SDKに付属のExplorer.pdbを使用してみましたが、機能しませんでした。 「名前付きプロバイダー」にExplorer.exeが表示されません。また、Explorer.exeのctlファイルまたは.TMFファイルの場所がわかりません。

したがって、質問は次のとおりです。エクスプローラーからのETWトレースメッセージを表示する方法はありますか?

または、すべてのExplorer拡張機能を1つずつ無効にするという昔ながらの手法に戻って、その1つであることを期待する必要はありません。 (私は物事の底に到達するのが好きなので前者を好む!!)

4
Schneider

あなたがそれらを見たかどうかはわかりませんが、MicrosoftのMark Russinovich(以前はProcess Explorerを書いたSysInternalsの)は、Sysinternalsツールを使用したWindowsの問題の診断に関する定期的な記事をブログに書いています。

これは、彼が断続的なエクスプローラーのハングを追跡しようとするときの彼のプロセスを示しています(これはほぼ確実にあなたと同じではありませんが、彼が使用するプロセスを示しています) http://blogs.technet.com/markrussinovich/アーカイブ/ 2005/08/28/the-case-of-the-intermittent-and-annoying-Explorer-hangs.aspx

彼は他の手法(MSサーバーからシンボルを取得することを含む)を使用して、Windowsのパフォーマンスの低下をここで診断します: http://blogs.technet.com/markrussinovich/archive/2008/09/24/3126858.aspx

3
GAThrawn

私が最初にすることは、問題のドライブでchkdskを実行することです。最初に最も単純な理由を除外します。

1
JamesRyan

これは、休止状態から目覚めた後、Windows7で一貫して発生します。 「新しいフォルダ」と「フォルダ名の変更」の両方で、Explorer.exeが長時間ハングします。最終的には戻ってきますが、あなたが持っていた勢いは何でも殺します。真新しいW7ラップトップでこれを見るのは少しがっかりします。

私の回避策:タスクマネージャーを起動してExplorer.exeを強制終了します。タスクバーが消えます。 [ファイル]-> [新しいタスク]-> [Explorer.exe]。タスクバーが再表示されます。タスクマネージャーを閉じる

問題はすぐに解決されました。しかし、それは今夜戻ってきます...

0
Scott

スコットによって提示されたソリューションは完璧に機能します。

Dell Inspiron1564でWindows7(64ビット)を使用しています。

7に固有のバグのようです。

0
alpha