Visual Studio 2019程序运行出现‘Access violation reading location‘的问题

这篇具有很好参考价值的文章主要介绍了Visual Studio 2019程序运行出现‘Access violation reading location‘的问题。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

小结

在Visual Studio 2019的C++程序调试运行中出现’Access violation reading location’的问题,Unhandled exception at 0xxxxxxxxx (xxxx.dll) in xxxx.exe: 0xxxxxxxxx: Access violation reading location 0xxxxxxxxxx,进行了解决。

问题及解决

在Visual Studio 2019的C++工程,编译是没有问题的,但是在程序调试运行时经常会出现’Access violation reading location’的问题,经过调试跟踪后,发现是由于变量被多个代码段访问到,可能出现了空指针的情况。这种错误也不是每次都发生,所以比较难找到原因和追踪到。具体原因可能是所访问的变量已经被其它部分代码改动了,具体建议如下:
Then verify that the values are not being unintentionally changed somewhere in the program by creating a Data Breakpoint for the pointer in question to make sure it isn’t being modified elsewhere in the program.

使用以下两个办法可以大大减少此类问题的发生。

方法一

在有可能发生变量使用冲突的地方加上try {...} catch (std::exception ex) {}来捕捉这个异常,异常被捕捉到后程序是可以接着运行的,不会出现退出的情况:

try {
		...
	}
	catch (std::exception ex) {
		std::cout << "Exception happened! " << ex.what() .
	}

方法二

减少多段代码访问同一个变量的情况,我将没有必要的修改冲突变量的地方进行了注释删除。经过多次调试测试,没有再发生Access violation reading location的问题。

Unexpected end of file error

Unexpected end of file error 这个问题的出现可以通过配置工程文件属性进行解决: 工程性性 -> C/C++ -> Precompiled Headers ->Create/Use Precompiled Header选择Not Using Precompiled Headers.

vs2019 debug 出现: printf is ambiguous

printf is ambiguous这个问题的解决比较奇怪:在代码中添加using namespace std;,保存,问题消失,如果不行,删除using namespace std;,保存,添加,保存,也就是再来一遍同样的操作。

using namespace std;

参考

Code Project: Access violation reading location  
Stackoverflow: Catching access violation exceptions?
Microsoft Doc: Structured Exception Handling (C/C++)
Microsoft Doc: How Can I Debug an Access Violation?
Stackoverflow: Unexpected end of file error
vs2019 debug 出现: printf is ambiguous文章来源地址https://www.toymoban.com/news/detail-480943.html

到了这里,关于Visual Studio 2019程序运行出现‘Access violation reading location‘的问题的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • UE 创建c++class报错Unhandled Exception: EXCEPTION_ACCESS_VIOLATION reading address 0xffffffffff

    删除出错的sourece的c++文件(公有私有文件夹删干净) 删除这四个文件夹 在引擎启动文件重新生成文件 笔者22岁正寻找UE方向工作如有机会可以发送至1530229118@qq.com 手机号码18061605859  

    2024年02月12日
    浏览(40)
  • 使用Visual Studio运行Python程序

    使用Visual Studio运行Python程序 Visual Studio是一个功能强大的集成开发环境(IDE),它不仅支持多种编程语言,还提供了许多有用的工具和功能,方便开发者进行代码编写、调试和测试。在Visual Studio中运行Python程序非常简单,下面我将为你详细介绍如何设置和运行Python程序。 步

    2024年02月08日
    浏览(42)
  • visual studio 2017 运行的程序关闭后不能再运行?(visual studio建立项目之后退出,如何再次完整打开项目?)

    在你储存项目的文件夹里面应该是这样的 里面.vcxproj后缀名的就是原来创建的项目,直接打开这个头文件源文件就会一起出来了! 真的管用,亲测有效。

    2024年02月13日
    浏览(66)
  • VS2019+Qt 用vs扩展Microsoft Visual Studio Installer Projects进行程序打包(.msi安装包)

    qt小白,仅做记录,如有问题,欢迎指正 方法一:Microsoft Visual Studio Installer Projects - Visual Studio Marketplace 关闭vs2019,直接安装即可。 方法二:vs2019-扩展-管理扩展-右侧搜索Microsoft Visual Studio Installer Projects-根据提示下载安装即可。(两种方法下载都有点慢) 1.用vs编译release版本

    2024年02月04日
    浏览(75)
  • Visual Studio运行Python程序(超级详细)

    Visual Studio Code,简称 VS Code,是由微软公司开发的 IDE 工具。与微软其他 IDE(如 Visual Studio)不同的是,Visual Studio Code 是跨平台的,可以安装在 Windows、Linux 和 macOS平台上运行。 不仅如此,Visual Studio Code 没有限定只能开发特定语言程序,事实上只要安装了合适的扩展插件,它

    2024年02月09日
    浏览(62)
  • 卸载Visual Studio 2015并安装Visual Studio 2019

    由于硕士论文研究的需求,需要更新本科所使用的Visual Studio 2015,于是有了这篇文章,也是注册CSDN社区后的第一篇文章,索性就从卸载开始,开启硕士生之旅,也希望接下来的每一步,都能在这里留下记录。 一、平平无奇的卸载记录 (这里follow的是微软官方卸载文档中,标

    2024年02月09日
    浏览(55)
  • Visual Studio 2017工程在Visual Studio 2019打开碰到的问题

    Visual Studio 2017的工程可以正常使用,在Visual Studio 2019中打开碰到两个问题,Error code: 0x80004005 和 cannot open source file “xxx.h” ,解决了这两个问题。 参考Visual Studio 2017: Project is out of date with error (0x80004005) 假定是 HelloWorld 的工程,那么修改 HelloWorld.vcxproj 文件,将以下内容: P

    2024年02月05日
    浏览(65)
  • visual studio 2019 调试驱动

    搭建驱动开发环境 搭建环境需要两台机器,本地机器用来代码开发,一台虚拟机用来测试和安装驱动 ,搭建驱动开发环境参考。 visual studio 添加调试机器 驱动工程的属性 - Driver Installer - Deployment, 点击…按钮添加目标机器用来安装和测试驱动。 进入添加配置窗口,添加机器

    2024年02月07日
    浏览(46)
  • Visual Studio 2019使用详解

    VS2019(Visual Studio 2019)是由微软开发的集成开发环境(IDE),用于开发各种应用程序,包括桌面应用程序、Web应用程序、移动应用程序等。 对工具的熟悉程度有助于提升开发效率,磨刀不误砍柴功,花些时间学习工具使用很有必要 在菜单栏---工具---选项---环境---键盘 在键盘

    2024年02月11日
    浏览(50)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包