`
阅读更多

问题:Unhandled exception at 0x00007FF84A0059C5 (UE4Editor-XXX.dll) in UE4Editor.exe: 0xC0000005: Access violation reading location 0x0000000000000000.

 

错误消息表明这是一个空指针取消引用,“访问冲突读取位置 0x00000000” 意味着你正在取消引用尚未初始化的指针,因此具有垃圾值。这些垃圾值可以是任何值,但通常它恰好是 0,因此你尝试从内存地址 0x0 读取,操作系统会检测并阻止你这样做。

 

Linux 等操作系统将最低地址(例如前 32MB:0x00_0000 -0x200_0000)保留在进程的虚拟地址空间之外。这样做是因为取消引用归零的非初始化指针是一个常见的错误,就像在这种情况下一样。因此,当发生这种类型的错误时,不是实际读取恰好位于地址 0x0 的随机变量(但不是指针如果正确初始化后的内存地址),而是从外部的内存地址读取进程的虚拟地址空间。这会导致页面错误,从而导致分段错误,并向进程发送信号以将其杀死。这就是你收到访问冲突错误的原因。

 

在vs里面进行调试,如果已分配的内存会用 0xcd来填充。已释放的内存用0xdd填充。被保护的内存用0xfd填充。

 

那么该如何解决该问题呢?需要从以下方面进行检查:

 

1、野指针访问,检查是否访问一个已经被释放掉的指针。

2、数组越界,检查是否赋值了已经溢出的值或地址。

3、多线程是否同步。

 

分享到:
评论

相关推荐

    Access violation at address 00000000.Read of adress 00000000解决方法

    在软件开发与维护过程中,遇到“Access violation at address 00000000.Read of adress 00000000”这类错误是常见的问题之一。这种类型的错误通常发生在程序试图访问一个不允许被读取或写入的内存地址时。本文将详细...

    运行程序提示access violation at address的解决方法.docx

    在 Delphi 中,可以通过解决运行期的 Access Violation 来减少错误的数量。解决方法包括: * 降低显示分辨率。 * 对于计算机上的所有硬件使用最新的驱动程序。 * 选择一个更稳定的程序开发环境,如 Windows NT/2000...

    提示access violation at address解决办法.docx

    Access Violation(非法访问)错误是Windows操作系统中常见的一种错误,特别是在使用Delphi语言开发程序时。这种错误通常是由于程序试图访问未被指定使用的存储区时遇到。解决Access Violation错误的方法有多种,...

    Access violation at address故障的解决方法 win7图文解决方案

    在使用Windows 7操作系统的过程中,用户可能会遇到“Access violation at address”这一类错误提示。这类错误通常出现在使用某些特定软件或应用程序时,尤其是在那些用Delphi等编程语言编写的程序中较为常见。本文将...

    Access Violation(解决方案).md

    Access Violation(解决方案).md

    弹出错误 access violation at address 004096da write of address 00401000 解决

    Access Violation(非法访问),General Protection Fault(一般保护性错误)或者Invalid Page Fault(无效页面错误),虽然说法不...Access Violation常常在计算机用户运行的程序试图存取未被指定使用的存储区时遇到。

    Delphi Access violations 问题的解决之道

    在 Delphi 开发中,Access Violation 问题可能会在程序设计期和运行期出现。程序设计期的 Access Violation 可能是由于硬件原因或软件原因引起的,而运行期的 Access Violation 则可能是由于程序的逻辑错误或内存...

    CodeManager2.0

    在VB CodeManager2.0中,核心知识点包括: 1. **代码片段管理**:CodeManager2.0允许用户创建、存储和检索常用的代码片段。这些片段可以是函数、类或者整个模块,方便开发者快速插入到当前项目中,节省编写重复代码...

    Data Integrity Violation(解决方案).md

    Data Integrity Violation(解决方案).md

    解决Delphi编译慢,Access violation报错 RLINK32 RLINK32.DLL出错,内存泄漏

    LA30、Access violation at address xxxxxxxx in module ‘RLINK32.DLL‘错误,多试几次可能就成功了,原因是DLL版本太老了, 直接把资料里边 bolndmm.dll 与rlink32.dll拷贝至delphi7下的bin目录中可以解决问题

    Segmentation Violation(解决方案).md

    段错误(Segmentation Violation)是程序试图访问其内存空间中未分配的内存区域时发生的错误,它通常是因为数组越界、空指针解引用等原因引起的。解决段错误的关键在于定位问题、检查数组和指针的使用、确保内存的...

    Network Policy Violation(解决方案).md

    这可能涉及到重新运行应用程序或测试网络连接的各个方面以验证结果,确保修改后的配置或代码符合网络策略的要求并能正常工作。 最后,解决过程和结果需要记录下来,以便未来参考,防止类似问题的发生。通过对事件的...

    PHP has encountered an Access Violation at XXXXXX 的解决方法

    假设在一个Windows Server 2003环境下部署的PHP应用中,频繁出现“PHP has encountered an Access Violation at XXXXXX”错误。根据问题描述,可以尝试以下步骤进行排查: 1. **重启IIS服务**:首先简单地重启IIS...

    AccessViolation错误的解决方法供参习.docx

    Access Violation错误是编程中常见的运行时错误,特别是在Delphi这样的编程环境中。这种错误通常发生在程序尝试访问未经许可的内存地址时,导致操作系统崩溃或强制关闭程序。在Windows环境下,错误提示通常显示为...

    IAR 编译错误清单

    Internal Error: [CoreUtil/General]: Access violation (0xc0000005) at 007588A5 (reading from address 0x0) ``` **错误原因:** 此类错误通常表明 IAR 编译器或其相关工具在运行过程中发生了非法访问内存的...

    ldap提示object class violation

    在LDAP(Lightweight Directory Access Protocol,轻量目录访问协议)的使用过程中,有时会遇到一个常见的错误提示:“object class violation”。这一错误提示通常出现在尝试对LDAP目录进行修改操作时,如添加、...

Global site tag (gtag.js) - Google Analytics