FObjectFinder 上的访问冲突

Access Violation on FObjectFinder

本文关键字:访问冲突 FObjectFinder      更新时间:2023-10-16

我在虚幻引擎中的项目遇到了问题。大约一个月前我写了一些代码,直到昨天编辑器在启动时开始崩溃时它才运行良好。 我在日志中收到此错误消息:

[2018.06.25-20.39.29:731][  0]LogWindows: Error: === Critical error: ===
[2018.06.25-20.39.29:731][  0]LogWindows: Error: 
[2018.06.25-20.39.29:731][  0]LogWindows: Error: Fatal error!
[2018.06.25-20.39.29:731][  0]LogWindows: Error: 
[2018.06.25-20.39.29:731][  0]LogWindows: Error: Unhandled Exception: EXCEPTION_ACCESS_VIOLATION reading address 0x000008d0
[2018.06.25-20.39.29:731][  0]LogWindows: Error: 
[2018.06.25-20.39.29:731][  0]LogWindows: Error: [Callstack] 0x000000002548206A UE4Editor-Landscape.dll!UnknownFunction []
[2018.06.25-20.39.29:731][  0]LogWindows: Error: [Callstack] 0x000000000B927D45 UE4Editor-Engine.dll!UnknownFunction []
[2018.06.25-20.39.29:731][  0]LogWindows: Error: [Callstack] 0x000000000B95BF0E UE4Editor-Engine.dll!UnknownFunction []
[2018.06.25-20.39.29:731][  0]LogWindows: Error: [Callstack] 0x00000000145DE8FD UE4Editor-CoreUObject.dll!UnknownFunction []
[2018.06.25-20.39.29:731][  0]LogWindows: Error: [Callstack] 0x000000001469DABC UE4Editor-CoreUObject.dll!UnknownFunction []
[2018.06.25-20.39.29:731][  0]LogWindows: Error: [Callstack] 0x00000000146B5259 UE4Editor-CoreUObject.dll!UnknownFunction []
[2018.06.25-20.39.29:731][  0]LogWindows: Error: [Callstack] 0x00000000146B4774 UE4Editor-CoreUObject.dll!UnknownFunction []
[2018.06.25-20.39.29:731][  0]LogWindows: Error: [Callstack] 0x00000000146CB0C3 UE4Editor-CoreUObject.dll!UnknownFunction []
[2018.06.25-20.39.29:732][  0]LogWindows: Error: [Callstack] 0x00000000146D5A3A UE4Editor-CoreUObject.dll!UnknownFunction []
[2018.06.25-20.39.29:732][  0]LogWindows: Error: [Callstack] 0x00000000146D51B2 UE4Editor-CoreUObject.dll!UnknownFunction []
[2018.06.25-20.39.29:732][  0]LogWindows: Error: [Callstack] 0x00000000F7A72E21 UE4Editor-Lyfe_Game.dll!ConstructorHelpersInternal::FindOrLoadObject<UParticleSystem>() [c:program filesepic gamesue_4.18enginesourceruntimecoreuobjectpublicuobjectconstructorhelpers.h:35]
[2018.06.25-20.39.29:732][  0]LogWindows: Error: [Callstack] 0x00000000F7A7314F UE4Editor-Lyfe_Game.dll!UCompound_ParticleComponent_Cell::UCompound_ParticleComponent_Cell() [c:usersmegapoortdesktoplyfelyfe_gamesourcelyfe_gameprivatecompound_particlecomponent_cell.cpp:30]
[2018.06.25-20.39.29:732][  0]LogWindows: Error: [Callstack] 0x00000000144605CD UE4Editor-CoreUObject.dll!UnknownFunction []
[2018.06.25-20.39.29:732][  0]LogWindows: Error: [Callstack] 0x0000000014698696 UE4Editor-CoreUObject.dll!UnknownFunction []
[2018.06.25-20.39.29:732][  0]LogWindows: Error: [Callstack] 0x00000000145E3EC4 UE4Editor-CoreUObject.dll!UnknownFunction []
[2018.06.25-20.39.29:732][  0]LogWindows: Error: [Callstack] 0x00000000F7A6B41D UE4Editor-Lyfe_Game.dll!ACompoundCloud_Cell::ACompoundCloud_Cell() [c:usersmegapoortdesktoplyfelyfe_gamesourcelyfe_gameprivatecompoundcloud_cell.cpp:64]
[2018.06.25-20.39.29:732][  0]LogWindows: Error: [Callstack] 0x00000000144605CD UE4Editor-CoreUObject.dll!UnknownFunction []
[2018.06.25-20.39.29:732][  0]LogWindows: Error: [Callstack] 0x00000000146D91B0 UE4Editor-CoreUObject.dll!UnknownFunction []
[2018.06.25-20.39.29:732][  0]LogWindows: Error: [Callstack] 0x00000000146BB41F UE4Editor-CoreUObject.dll!UnknownFunction []
[2018.06.25-20.39.29:732][  0]LogWindows: Error: [Callstack] 0x0000000014462547 UE4Editor-CoreUObject.dll!UnknownFunction []
[2018.06.25-20.39.29:732][  0]LogWindows: Error: [Callstack] 0x00000000149CE6C0 UE4Editor-Core.dll!UnknownFunction []
[2018.06.25-20.39.29:732][  0]LogWindows: Error: [Callstack] 0x0000000014C22282 UE4Editor-Core.dll!UnknownFunction []
[2018.06.25-20.39.29:732][  0]LogWindows: Error: [Callstack] 0x000000004489F60D UE4Editor-Projects.dll!UnknownFunction []
[2018.06.25-20.39.29:732][  0]LogWindows: Error: [Callstack] 0x000000004489F91E UE4Editor-Projects.dll!UnknownFunction []
[2018.06.25-20.39.29:732][  0]LogWindows: Error: [Callstack] 0x00000000B66F7F71 UE4Editor.exe!UnknownFunction []
[2018.06.25-20.39.29:732][  0]LogWindows: Error: [Callstack] 0x00000000B66FC4EC UE4Editor.exe!UnknownFunction []
[2018.06.25-20.39.29:732][  0]LogWindows: Error: [Callstack] 0x00000000B66F525A UE4Editor.exe!UnknownFunction []
[2018.06.25-20.39.29:732][  0]LogWindows: Error: [Callstack] 0x00000000B66F54AA UE4Editor.exe!UnknownFunction []
[2018.06.25-20.39.29:732][  0]LogWindows: Error: [Callstack] 0x00000000B6702379 UE4Editor.exe!UnknownFunction []
[2018.06.25-20.39.29:732][  0]LogWindows: Error: [Callstack] 0x00000000B6703D57 UE4Editor.exe!UnknownFunction []
[2018.06.25-20.39.29:732][  0]LogWindows: Error: [Callstack] 0x000000005ED03034 KERNEL32.DLL!UnknownFunction []
[2018.06.25-20.39.29:732][  0]LogWindows: Error: [Callstack] 0x000000005F271431 ntdll.dll!UnknownFunction []
[2018.06.25-20.39.29:732][  0]LogWindows: Error: [Callstack] 0x000000005F271431 ntdll.dll!UnknownFunction []
[2018.06.25-20.39.29:732][  0]LogWindows: Error: 
[2018.06.25-20.39.29:750][  0]LogExit: Executing StaticShutdownAfterError
[2018.06.25-20.39.29:751][  0]LogWindows: FPlatformMisc::RequestExit(1)
[2018.06.25-20.39.29:751][  0]Log file closed, 06/25/18 22:39:29

compoundcloud_cell.cpp:64是我为参与者创建默认子对象的地方。在其构造函数 (compound_particlecomponent_cell.cpp:30( 中,位于使编辑器崩溃的代码。 此处记录的行是:

auto psAsset = ConstructorHelpers::FObjectFinder<UParticleSystem>(TEXT("ParticleSystem'/Game/ParticleSystems/PS_CompoundCloud_SingleCelled.PS_CompoundCloud_SingleCelled'"));

我创建组件的代码片段如下所示:+

std::string center = "CenterSystem";
UCompound_ParticleComponent_Cell* temp = CreateDefaultSubobject<UCompound_ParticleComponent_Cell>(center.c_str());
particles.Add(temp);
RootComponent = temp;

有没有人知道为什么这可能会突然导致崩溃?我最近在粒子系统上做了很多工作,但名称仍然相同,所以我认为它不应该影响对象查找器。

如果有人能帮我解决这个问题,那就太好了。 提前谢谢。

有点支持,但我想我可能会尝试从 4.18 更新到 4.19,它实际上解决了这个问题。因此,如果您有类似的问题:请尝试升级。

编辑: 它在有限的时间内工作。
到目前为止,我尝试在构造函数中的其他类中加载粒子系统,每次都会遇到访问冲突。

编辑 2: 仍然没有答案。长期以来,这一直在减缓该项目的速度。如果有人想看看: https://github.com/GameAboutThings/Lyfe

好的,所以这与FObject查找器或粒子系统本身无关。 粒子系统中使用的材料中有一些未连接的节点。 检查您的材料!