You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Windows/Linux下构建Unreal Engine 5.1.1项目时出现内存异常

UE5.1.1中Unreal.js插件引发打包崩溃(EXCEPTION_ACCESS_VIOLATION)

问题概况

基于Unreal.js插件开发的项目在UE5.0.3及更早版本可正常构建打包,但迁移至UE5.1.1后,打包过程中触发EXCEPTION_ACCESS_VIOLATION异常,导致游戏无法导出。仅启用Unreal.js插件的UE5.1.1空白示例项目也能复现该问题。

已尝试的排查动作

  • 更换多个版本的Visual Studio编译项目
  • 调整项目各类配置参数
  • 切换不同版本的Microsoft Desktop支持组件
  • 尝试导出Linux平台版本,故障未解决

关键错误日志

LogWindows: Error: === Critical error: ===
LogWindows: Error:
LogWindows: Error: Fatal error!
LogWindows: Error:
LogWindows: Error: Unhandled Exception: EXCEPTION_ACCESS_VIOLATION reading address 0x0000000000000040
LogWindows: Error:
LogWindows: Error: [Callstack] 0x00007ff8779729e5 UnrealEditor-JavascriptConsole.dll!FJavascriptCommandExecutor::CacheJavascriptContext() [D:\build\U5M-Marketplace\Sync\LocalBuilds\PluginTemp\HostProject\Plugins\UnrealJS\Source\JavascriptConsole\Private\JavascriptCommandExecutor.cpp:115]
LogWindows: Error: [Callstack] 0x00007ff87797193f UnrealEditor-JavascriptConsole.dll!FJavascriptCommandExecutor::FJavascriptCommandExecutor() [D:\build\U5M-Marketplace\Sync\LocalBuilds\PluginTemp\HostProject\Plugins\UnrealJS\Source\JavascriptConsole\Private\JavascriptCommandExecutor.cpp:15]
LogWindows: Error: [Callstack] 0x00007ff8779718c0 UnrealEditor-JavascriptConsole.dll!SharedPointerInternals::NewIntrusiveReferenceController<1,FJavascriptCommandExecutor>() [D:\RocketSync\5.1.0-23058290+++UE5+Release-5.1\Working\Engine\Source\Runtime\Core\Public\Templates\SharedPointerInternals.h:445]
LogWindows: Error: [Callstack] 0x00007ff87797445a UnrealEditor-JavascriptConsole.dll!FJavascriptConsoleModule::StartupModule() [D:\build\U5M-Marketplace\Sync\LocalBuilds\PluginTemp\HostProject\Plugins\UnrealJS\Source\JavascriptConsole\Private\JavascriptConsoleModule.cpp:15]
...(省略后续非关键调用栈)
LogWindows: Error: end: stack for UAT
Took 9.6905192s to run UnrealEditor-Cmd.exe, ExitCode=3
...
AutomationTool exiting with ExitCode=25 (Error_UnknownCookFailure)

问题分析

从调用栈可以明确,异常发生在Unreal.js插件的JavascriptConsole模块启动阶段:FJavascriptCommandExecutor::CacheJavascriptContext()方法尝试访问空指针偏移地址0x0000000000000040,说明该模块依赖的Javascript上下文对象在UE5.1.1的引擎启动流程中未被正确初始化,属于插件与UE5.1.1的API兼容性问题。

解决方案建议

  1. 优先更新插件版本:检查Unreal.js插件的官方分发渠道,确认是否有针对UE5.1.1的适配版本,直接升级是最直接的解决方式。
  2. 修改插件源码修复空指针:若能获取插件源码,定位到JavascriptCommandExecutor.cpp第115行,增加空指针检查逻辑,确保访问的对象不为空再执行后续操作。
  3. 临时禁用JavascriptConsole模块:如果项目中未使用该模块功能,可修改JavascriptConsole.uplugin文件,将模块的LoadingPhase调整为PostEngineInit,或者直接注释掉该模块的加载配置,避免在启动阶段触发错误。
  4. 从源码重新编译插件:针对UE5.1.1的引擎API变更,手动调整Unreal.js插件的源码,重新编译适配UE5.1.1版本。

内容的提问来源于stack exchange,提问作者Cardstdani

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.21 22:17:03