进行完整环境扫描时,文件资源管理器崩溃。堆栈跟踪仅显示 Microsoft 库(见下文)。我做的最后一件事是连接我的 Android 手机并将图片复制到这台电脑。
> msvcrt.dll!memcpy() Unknown
SHCore.dll!`anonymous namespace'::_TryActionOnPageBackedDataWithExceptionHandling<class <lambda_d757ca68eb788d9a9e57e73b107a4322> >(class <lambda_d757ca68eb788d9a9e57e73b107a4322> const &) Unknown
SHCore.dll!CSharedStream::Read(void *,unsigned long,unsigned long *) Unknown
mfplat.dll!CMFByteStreamOnStream::OnRead(struct IMFAsyncResult *) Unknown
mfplat.dll!CMFByteStreamOnStream::OnReadAsyncCallback::Invoke(struct IMFAsyncResult *) Unknown
RTWorkQ.dll!BaseRecycler::~BaseRecycler(void) Unknown
ntdll.dll!TppWorkpExecuteCallback() Unknown
ntdll.dll!TppWorkerThread() Unknown
kernel32.dll!BaseThreadInitThunk() Unknown
ntdll.dll!RtlUserThreadStart() Unknown
答案1
好的,我查看了转储和奇金格函数显示一些错误。从符号服务器下载的文件与转储小部分中的 DLL 不匹配。
0:119> !chkimg -lo 50 -d !ntdll -v
Searching for module with expression: !ntdll
Will apply relocation fixups to file used for comparison
Will ignore NOP/LOCK errors
Will ignore patched instructions
Image specific ignores will be applied
Comparison image path: D:\sym\dl\nt\ntdll.dll\56540C3B1c1000\ntdll.dll
No range specified
Scanning section: .text
Size: 1024297
Range to scan: 7fff32851000-7fff3294b129
Total bytes compared: 1024297(100%)
Number of errors: 0
Scanning section: PAGE
Size: 224
Range to scan: 7fff3294c000-7fff3294c0e0
Total bytes compared: 224(100%)
Number of errors: 0
Scanning section: RT
Size: 485
Range to scan: 7fff3294d000-7fff3294d1e5
Total bytes compared: 485(100%)
Number of errors: 0
Scanning section: .rdata
Size: 264200
Range to scan: 7fff3294e000-7fff3298e808
7fff3294e001-7fff3294e002 2 bytes - ntdll!_guard_dispatch_icall_fptr+1
[ 85 8f:51 8e ]
Total bytes compared: 264200(100%)
Number of errors: 2
Scanning section: .pdata
Size: 51168
Range to scan: 7fff32998000-7fff329a47e0
Total bytes compared: 51168(100%)
Number of errors: 0
Scanning section: .rsrc
Size: 418328
Range to scan: 7fff329a9000-7fff32a0f218
Total bytes compared: 418328(100%)
Number of errors: 0
2 errors : !ntdll (7fff3294e001-7fff3294e002)
0:119> !chkimg -lo 50 -d !kernel32 -v
Searching for module with expression: !kernel32
Will apply relocation fixups to file used for comparison
Will ignore NOP/LOCK errors
Will ignore patched instructions
Image specific ignores will be applied
Comparison image path: D:\sym\dl\ke\kernel32.dll\5632D5AAad000\kernel32.dll
No range specified
Scanning section: .text
Size: 473881
Range to scan: 7fff31b11000-7fff31b84b19
Total bytes compared: 473881(100%)
Number of errors: 0
Scanning section: .rdata
Size: 189366
Range to scan: 7fff31b85000-7fff31bb33b6
7fff31b87770-7fff31b87773 4 bytes - kernel32!_guard_check_icall_fptr
[ a0 d0 b3 31:00 51 8e 32 ]
7fff31b87778-7fff31b8777b 4 bytes - kernel32!_guard_dispatch_icall_fptr (+0x08)
[ e0 e7 b3 31:50 51 8e 32 ]
Total bytes compared: 189366(100%)
Number of errors: 8
Scanning section: .pdata
Size: 22236
Range to scan: 7fff31bb5000-7fff31bba6dc
Total bytes compared: 22236(100%)
Number of errors: 0
Scanning section: .rsrc
Size: 1320
Range to scan: 7fff31bbb000-7fff31bbb528
Total bytes compared: 1320(100%)
Number of errors: 0
8 errors : !kernel32 (7fff31b87770-7fff31b8777b)
0:119> !chkimg -lo 50 -d !user32 -v
Searching for module with expression: !user32
Will apply relocation fixups to file used for comparison
Will ignore NOP/LOCK errors
Will ignore patched instructions
Image specific ignores will be applied
Comparison image path: D:\sym\dl\us\user32.dll\565423D2156000\user32.dll
No range specified
Scanning section: .text
Size: 584738
Range to scan: 7fff30451000-7fff304dfc22
Total bytes compared: 584738(100%)
Number of errors: 0
Scanning section: .rdata
Size: 99980
Range to scan: 7fff304e0000-7fff304f868c
7fff304e0d30-7fff304e0d33 4 bytes - user32!_guard_check_icall_fptr
[ 70 14 48 30:00 51 8e 32 ]
7fff304e0d38-7fff304e0d3b 4 bytes - user32!_guard_dispatch_icall_fptr (+0x08)
[ 30 ac 48 30:50 51 8e 32 ]
Total bytes compared: 99980(100%)
Number of errors: 8
Scanning section: .pdata
Size: 38928
Range to scan: 7fff304fb000-7fff30504810
Total bytes compared: 38928(100%)
Number of errors: 0
Scanning section: .rsrc
Size: 648128
Range to scan: 7fff30506000-7fff305a43c0
Total bytes compared: 648128(100%)
Number of errors: 0
8 errors : !user32 (7fff304e0d30-7fff304e0d3b)
首先测试 RAM 是否有错误 (memtest86+),可能是 RAM 已损坏并翻转了一些位。接下来检查 HDD ( chkdsk /f
),这可能会导致读取 DLL 时损坏它们,如果两者都没有问题,请运行sfc /scannow
并Dism /Online /Cleanup-Image /RestoreHealth
检测 HDD 中的文件是否已因某种原因损坏。
答案2
通过逐一排除所有可能性,我意识到文件资源管理器在创建“最近文件”列表时崩溃了。由于文件资源管理器在崩溃期间需要一段时间才能从视图中消失,我利用这段时间仔细查看它列出的文件,并在那里找到了缩略图。我找到了如何禁用所有缩略图的说明论坛。禁用所有缩略图后,我能够选择快速访问选项,而无需文件资源管理器关闭。
崩溃的明显原因是难以获取“最近文件”的所有缩略图。
抱歉,magicandre1981,我们没有按照您最初的建议正确采取行动,即禁用所有缩略图。