我的Visual Studio 2013控制台应用程序在退出之前突然启动导致访问冲突错误。弹出错误窗口告诉我“访问冲突执行位置xxx”,它在VC库函数_callthreadstartex中断。如果我注释掉我添加的行:
cout<< “\ n输入完成\ n”;
的std :: cin.get();
它有效。此外,当我从命令窗口而不是从Visual Studio调试环境运行它时,它可以工作。 (我正在使用的项目文件不包含发布配置 - 调试版本就是全部。)
程序的其余部分是一个大型开源软件包的示例,这里的内容太复杂了。操作系统是Windows 7,刚安装在较旧的计算机上。
虽然我知道这种类型的错误通常是神秘且间歇性的,并且可能与cin.get()完全没有任何关系,我可以将任何内容排除在外吗?由于我添加的唯一内容是标准库调用,因此我不太可能编程错误。我正在使用的包非常复杂和脆弱,但我不知道从哪里开始使用我给出的错误信息来追踪问题。是否可能这是一个不需要代码修复的操作系统设置问题?这是一个超出我的专业知识的线程问题吗?