[0x7FFEF7EABC10] ANOMALY: meaningless REX prefix used错误的处理

突然从某一天开始,命令行cmd就变成了这种鬼东西。

[0x7FFEF7EABC10] ANOMALY: meaningless REX prefix used

[0x7FFEF7EABC10] ANOMALY: meaningless REX prefix used

[0x7FFEF7EABC10] ANOMALY: meaningless REX prefix used

[0x7FFEF7EABC10] ANOMALY: meaningless REX prefix used

[0x7FFEF7EABC10] ANOMALY: meaningless REX prefix used

[0x7FFEF7EABC10] ANOMALY: meaningless REX prefix used

[0x7FFEF7EABC10] ANOMALY: meaningless REX prefix used

[0x7FFEF7EABC10] ANOMALY: meaningless REX prefix used

……

非常多的刷屏。

虽然看着很不爽,但是命令行还是可以执行命令的。最大的问题是像git之类的工具因为需要解析命令行的执行结果,导致不能使用。而网上有一些类似的解决方法,包括更新显卡驱动:

https://stackoverflow.com/questions/43174908/warning-invalid-credential-line-0x7ffef7eabc10-anomaly-meaningless-rex-pref

还有:

https://answers.microsoft.com/en-us/windows/forum/windows_7-performance/anomaly-meaningless-rex-prefix-used/13efd2ab-6108-4454-94e0-d231801ec7bc

https://social.technet.microsoft.com/Forums/forefront/zh-CN/54867499-4e06-4815-9f65-d1a382cbee5c/255112104621488cmd652922519134892216292019621069246352615925552?forum=win10itprogeneralCN

这些帖子对我毫无用处。


经排查发现是安装的北信源搞的鬼(网上显示还有其他软件也会导致这个问题)。但是公司的系统必须用。所以解决方式如下:

1. 通过排查发现,cmd.exe引用了如下四个dll文件,通过命令dumpbin就可以看到:

dumpbin /dependents cmd.exe


需要注意的是,网上很多文章都把参数写成了\dependents,这是错误的。正确的是/dependents。

2. 比较这四个文件的大小,ADVAPI32.DLL,USER32.DLL, SHELL32.DLL, MPR.DLL.就和那些没有问题的系统的这些文件比较

3. 通常情况下,你需要系统最高权限才能替换这些文件,但是大多数情况下未必有。所以将这些文件重命名一下,放入c:\Windows\System32目录下面。比如,将其名字后面加1

我找的机器的文件大小如下:


4. 重启系统,在f8进入带命令行的安全模式。在该模式下,使用regsvr32命令重新注册这些dll文件:

    regsvr32 ADVAPI321.DLL

    regsvr32 USER321.DLL

    regsvr32 SHELL321.DLL

    regsvr32 MPR1.DLL

然后反注册原来的dll文件

    

     regsvr32 /u ADVAPI32.DLL

    regsvr32 /u USER32.DLL

    regsvr32 /u SHELL32.DLL

    regsvr32 /u MPR.DLL

5. 重启系统。解决问题。


备注:

    1. 其实在C:\Windows\SysWOW64下也有一个cmd.exe,将系统默认cmd换成这个路径下的cmd也能解决问题。

    2. 如果知道怎么改权限,能够直接替换这些位置的文件;或者使用双系统替换文件,也可以解决这个问题。

 


INFO Loading all plugins in /mnt/d/WSLProgram/ziran2019/Build/Release/Plugins INFO Simulation using double:1 INFO Simulation dimension:3 DEBUG Opening file /mnt/d/WSLProgram/ziran2019/Data/MpmParticles/particles-1000k.dat terminate called after throwing an instance of 'std::bad_alloc' what(): std::bad_alloc FATAL Received fatal signal: SIGABRT(6) ----------------------------------------STACKTRACE----------------------------------------- 1 ./fracture ZIRAN::signalHandler(int)+0x8b [0x7ffef2bd4e8b] 2 /lib/x86_64-linux-gnu/libc.so.6 +0x3ef10 [0x7ffef098ef10] 3 /lib/x86_64-linux-gnu/libc.so.6 gsignal+0xc7 [0x7ffef098ee87] 4 /lib/x86_64-linux-gnu/libc.so.6 abort+0x141 [0x7ffef09907f1] 5 /usr/lib/x86_64-linux-gnu/libstdc++.so.6 +0x8c957 [0x7ffef139c957] 6 /usr/lib/x86_64-linux-gnu/libstdc++.so.6 +0x92ae6 [0x7ffef13a2ae6] 7 /usr/lib/x86_64-linux-gnu/libstdc++.so.6 +0x92b21 [0x7ffef13a2b21] 8 /usr/lib/x86_64-linux-gnu/libstdc++.so.6 +0x92d54 [0x7ffef13a2d54] 9 ./fracture +0x1807d2 [0x7ffef2b807d2] 10 ./fracture +0x18081e [0x7ffef2b8081e] 11 ./fracture std::vector<Eigen::Matrix<double, 3, 1, 0, 3, 1>, Eigen::aligned_allocator<Eigen::Matrix<double, 3, 1, 0, 3, 1> > >::reserve(unsigned long)+0x7b [0x7ffef2b94e1b] 12 ./fracture void ZIRAN::PoissonDisk<double, 3>::sampleFromPeriodicData<ZIRAN::MpmInitializationHelper<double, 3>::sampleFromVdbFile(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, double, double)::{lambda(Eigen::Matrix<double, 3, 1, 0, 3, 1> const&)#1}>(std::vector<Eigen::Matrix<double, 3, 1, 0, 3, 1>, Eigen::aligned_allocator<Eigen::Matrix<double, 3, 1, 0, 3, 1> > >&, ZIRAN::MpmInitializationHelper<double, 3>::sampleFromVdbFile(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, double, double)::{lambda(Eigen::Matrix<doub
最新发布
07-24
评论 12
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值