退出(在调试模式下)最简单的应用程序时出现访问冲突。这是我的C ++程序;win32控制台应用程序,空项目,无预编译头,无SDL检查:
#include <iostream>
int main()
{
std::cout << "Hello World!" << std::endl;
return 0;
}
在调试模式(F5)中时,其结果是:在hello.exe中的0x778AB2D5(ntdll.dll)处引发了异常:0xC0000005:访问冲突读取位置0x7179FFFF。
我已经修复并重新安装了Visual Studio 2015社区,现在安装了VS Community Update 2RC,结果相同。在不调试的情况下启动时没问题(Ctrl + F5)
调试时,我可以输入exe_common.inl,直到第264行,该行引发异常(18次):
if (!__scrt_is_managed_app())
exit(main_result); // -->> here
编辑:调用堆栈显示:
ntdll.dll!_RtlFreeHeap@12 () Unknown KernelBase.dll!_LocalFree@4 () Unknown a2hooks32.dll!7420ec83() Unknown [Frames below may be incorrect and/or missing, no symbols loaded for a2hooks32.dll] a2hooks32.dll!7421014f() Unknown a2hooks32.dll!74207565() Unknown a2hooks32.dll!742078b1() Unknown a2hooks32.dll!74206e6d() Unknown a2hooks32.dll!7420658d() Unknown a2hooks32.dll!742037fd() Unknown a2hooks32.dll!7421ac69() Unknown a2hooks32.dll!7421ad4f() Unknown [External Code]
有什么线索吗?有人知道发生了什么吗?
出色地; 让我感到羞耻...我在回答自己的问题,因为有可能向其他人澄清相同的问题。我必须说,该问题与Visual Studio 2015不相关,但其他Windows编译器(实际上是调试器)也相关。
我询问了a2hooks32.dll的所有者,Emsisoft反恶意软件制造商,并且支持人员立即发送了答案:
...行为阻止程序将尝试查找文件的哈希值以进行验证,同时阻止可执行文件暂时起作用。显然,这导致访问冲突,因为连接的调试器还正在访问文件。
好吧,就是这样。在反恶意软件中列出可执行文件解决了我的全神贯注。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句