win7 ntdll.dll 6.1.7601.23915 crash 问题

win7 ntdll.dll 6.1.7601.23915 crash 问题步骤

win7 32bit上面有两个用户,一个管理员用户,一个标准用户。
一天安装pdf printer的驱动,从网上随便找的*.inf驱动文件,安装没问题,使用print pdf功能时候电脑蓝屏。之后标准用户打开一个程序XXX.exe出现 ntdll.dll 6.1.7601.23915 crash问题。管理员用户打开程序XXX.exe没有问题。

之后从网上找的n个办法都无效。
今天早上用llvm的debug工具lldb调试一下。大概用法c:\llvm\bin\lldb.exe XXX.exe,然后执行,输入命令r,crash的时候有打印信息,见下面。打印信息大概内容
crash位置ntdll.dllRtlEnterCriticalSection,堆栈信息里面__crtGetLocaleInfoW.
* thread #1, stop reason = Exception 0xc0000005 encountered at address 0x77657322
frame #0: 0x77657322 ntdll.dll
RtlEnterCriticalSection + 18
ntdll.dll`RtlEnterCriticalSection:
-> 0x77657322 <+18>: lock
0x77657323 <+19>: btrl $0x0, <%eax>
0x77657327 <+23>: jae 0x77f15918 ; _wcsnicmp + 428
0x7765732d <+29>: movl %fs:0x18, %eax

frame #1: 0x7c34f639 msvcr71.dll`__crtGetLocaleInfoW + 689

这个时候才发现不是ntdll.dll的问题,因为之前把C:\Windows下的ntdll.dll都用md5sum检验过了没有异常。再次上网搜索发现是user profile 错误导致的ntdll.dll crash。修复方法就是重新构建标准用户的user profile。具体方法:在注册表中,把对应标准用户的profile删除掉,重启电脑登录该标准用户,user profile就会重建。

参考链接

你可能感兴趣的:(常用软件)