在不真实发动机4中的crash crash在内存免费操作过程中crash 4 我正在编辑游戏模拟中的不真实引擎4的运行实例中经历以下崩溃: 在ue4editor-win64-debuggame.e ...

问题描述 投票:0回答:0

在功能期间,这是:

FMEMORY_INLINE_FUNCTION_DECORATOR void FMemory::Free(void* Original) { //... MEMORY_INLINE_GMalloc->Free(Original); // <- Here }

I将在底部弹出堆栈跟踪和螺纹细节。我试图创建一个MCVE,但我不能。即使使用相同的UE版本,最小的游戏实例似乎也不会显示此问题。 (4.27)。因此,关于大型游戏的复杂性的某些事情可能导致问题。但是,一些其他观察结果:

在任何类型的统计收集上进行收集几乎会立即发生:

  1. 从命令控制台使用stat fpsturning statistics on in ue4 editor几乎立即发生这种情况。 从C ++使用调试图(例如)导致这种情况的发生得更快。
  2. 有时系统重新启动会在短时间内消除此问题。 \
  3. 它永远不会发生在“煮熟”的游戏中(又名在没有编辑器的情况下构建和运行)。我怀疑这是因为此统计收集仅发生在编辑器中。
    
    构建发布或调试游戏编辑器似乎没有任何区别。
  4. 汇出“显示统计数据”会使坠机发生前的时间翻了一番。
  5. 我不确定如何调试,这似乎是越野车,可能在UE系统中。
  6. 对如何解决这个问题有任何建议?
  7. Additional细节
  8. 堆栈跟踪: The show stats dialogDrawDebugPoint

我们找到了解决方法,这并不能告诉我们为什么会发生这种情况,并且严重限制了某些功能。但是,如果您致电: UE4Editor-Core.dll!__TBB_LockByte(unsigned char &) Unknown UE4Editor-Core.dll!rml::internal::Block::freePublicObject(struct rml::internal::FreeObject *) Unknown UE4Editor-Core.dll!scalable_free() Unknown UE4Editor-Core.dll!FMemory::Free(void * Original) Line 80 C++ UE4Editor-Core.dll!operator delete(void * Ptr, unsigned __int64 Size) Line 33 C++ [Inline Frame] UE4Editor-Core.dll!TIndirectArray<TChunkedArray<FStatMessage,4096>::FChunk,TSizedDefaultAllocator<32>>::DestructAndFreeItems() Line 434 C++ [Inline Frame] UE4Editor-Core.dll!TIndirectArray<TChunkedArray<FStatMessage,4096>::FChunk,TSizedDefaultAllocator<32>>::Empty(int) Line 340 C++ UE4Editor-Core.dll!TIndirectArray<TChunkedArray<FStatMessage,4096>::FChunk,TSizedDefaultAllocator<32>>::~TIndirectArray<TChunkedArray<FStatMessage,4096>::FChunk,TSizedDefaultAllocator<32>>() Line 74 C++ UE4Editor-Core.dll!FStatPacketArray::Empty() Line 619 C++ [Inline Frame] UE4Editor-Core.dll!FStatPacketArray::{dtor}() Line 218 C++ [Inline Frame] UE4Editor-Core.dll!TSparseArray<TSetElement<TTuple<__int64,FStatPacketArray>>,TSparseArrayAllocator<TSizedDefaultAllocator<32>,FDefaultBitArrayAllocator>>::RemoveAt(int) Line 299 C++ UE4Editor-Core.dll!TSet<TTuple<__int64,FStatPacketArray>,TDefaultMapHashableKeyFuncs<__int64,FStatPacketArray,0>,FDefaultSetAllocator>::Remove(FSetElementId ElementId) Line 770 C++ [Inline Frame] UE4Editor-Core.dll!TSet<TTuple<__int64,FStatPacketArray>,TDefaultMapHashableKeyFuncs<__int64,FStatPacketArray,0>,FDefaultSetAllocator>::TIterator::RemoveCurrent() Line 1577 C++ [Inline Frame] UE4Editor-Core.dll!TMapBase<__int64,FStatPacketArray,FDefaultSetAllocator,TDefaultMapHashableKeyFuncs<__int64,FStatPacketArray,0>>::TIterator::RemoveCurrent() Line 904 C++ UE4Editor-Core.dll!FStatsThreadState::AddToHistoryAndEmpty(FStatPacketArray & NewData) Line 998 C++ UE4Editor-Core.dll!FStatsThread::Tick() Line 979 C++ UE4Editor-Core.dll!FStatsThread::StatMessage(FStatPacket * Packet) Line 1007 C++ [Inline Frame] UE4Editor-Core.dll!FStatMessagesTask::DoTask(ENamedThreads::Type) Line 1064 C++ UE4Editor-Core.dll!TGraphTask<FStatMessagesTask>::ExecuteTask(TArray<FBaseGraphTask *,TSizedDefaultAllocator<32>> & NewTasks, ENamedThreads::Type CurrentThread) Line 886 C++ [Inline Frame] UE4Editor-Core.dll!FBaseGraphTask::Execute(TArray<FBaseGraphTask *,TSizedDefaultAllocator<32>> & CurrentThread, ENamedThreads::Type) Line 524 C++ UE4Editor-Core.dll!FNamedTaskThread::ProcessTasksNamedThread(int QueueIndex, bool bAllowStall) Line 710 C++ UE4Editor-Core.dll!FNamedTaskThread::ProcessTasksUntilQuit(int QueueIndex) Line 602 C++ UE4Editor-Core.dll!FStatsThread::Run() Line 906 C++ UE4Editor-Core.dll!FRunnableThreadWin::Run() Line 86 C++ UE4Editor-Core.dll!FRunnableThreadWin::GuardedRun() Line 27 C++


从您的游戏启动中的某个地方,此线程永远不会运行,我们永远也不会遇到这个问题。当然,这意味着您将无法使用任何统计数据。

显然是一个首选的解决方案是弄清楚为什么这次崩溃首先发生而不是避免发生。

c++ unreal-engine4
最新问题
© www.soinside.com 2019 - 2025. All rights reserved.