VMWare虚拟机?
蓝屏的直接原因是文件系统的MUP驱动访问被破坏了IRP(I/O请求包)而导致非法内存访问了
这样的问题大多与文件系统的过滤驱动有关系
如果你的软件没有任何驱动程序,那么这样的问题可以先考虑升级VmWare的驱动程序,或者让客户向VmWare报告......
启动WinDBG,附加到你的进程,bp ntdll!ZwFsControlFile
然后g,执行你的程序,断点命中时,k观察,比如:
0:000> kChildEBP RetAddr 0018d908 7630cf59 ntdll!ZwFsControlFile0018d998 7630ce5b SHELL32!IsSMBv1+0x6a0018dbd0 762e606b SHELL32!CEnumFiles::_InitEnumeration+0xaa0018de00 762e5e27 SHELL32!CEnumFiles::FindSingleFile+0x5e0018e2e0 762e5f8b SHELL32!GetFindDataForPath+0x870018e514 762e5eac SHELL32!CFSFolder::_FindDataFromName+0xc00018e7a8 762ffe55 SHELL32!CFSFolder::_CreateIDListFromName+0x3d0018ecf4 7630c06f SHELL32!CFSFolder::ParseDisplayName+0x17a0018ed7c 76307b33 SHELL32!CDrivesFolder::ParseDisplayName+0x1530018ee00 76309eb3 SHELL32!CRegFolder::ParseDisplayName+0x930018ee40 7630817b SHELL32!CDesktopFolder::_ChildParseDisplayName+0x470018eebc 76307b33 SHELL32!CDesktopFolder::ParseDisplayName+0x1120018ef40 76308054 SHELL32!CRegFolder::ParseDisplayName+0x930018ef8c 7642e8ae SHELL32!SHParseDisplayName+0xa80018f1d0 5acb428f SHELL32!SHGetFileInfoW+0x163