verifier监控程序,即使不用代码跑,直接运行exe 也会加载verfier
(不知道是什么原因导致...)
用代码跑output显示如下信息
AVRF: yourapp.exe: pid 0x6EC: flags 0x40007: application verifier enabled
'yourapp.exe': Loaded 'C:\WINDOWS\system32\verifier.dll'
'yourapp.exe': Loaded 'C:\WINDOWS\system32\kernel32.dll'
AVRF: verifier.dll provider initialized for yourapp.exe with flags 0x40007
正常情况调试程序时用Debug->Start with application Verifier 也会加载verfier,但不是永久的。
没有找到网上说的appverfier这个exe来设置
直接导致程序跑的异常慢,并且 对 空事件句柄调用SetEvent/ResetEvetn 或者等待空线程句柄 都会报异常错误
解决办法:
搜索注册表 yourapp.exe,会发现如下键值
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\yourapp.exe]
"GlobalFlag"=dword:00000100
"VerifierFlags"=dword:00040007
"PageHeapFlags"=dword:00000003
yourapp.exe启动被加上了VerifierFlags标志
直接删掉Image File Execution Options 下的yourapp.exe项 ,一切恢复正常。
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ezhong的博客签名-------------------------------------
以上内容来自ezhong的博客园,作者:ezhong
ezhong的博客园: http://www.cnblogs.com/ezhong
感谢您的阅读。感谢您的分享。