用途
ue5-debug-validation 是一个面向 Unreal Engine 5.6 至 5.8 的调试与验证工作流技能,主要用于日志分析、资产检查与回归问题分诊。当请求涉及排查玩法为何不生效、定位故障域、验证资产与配置、或进行修复后的回归验证时,可使用该技能。
主要能力
该技能提供一套结构化的调试阶段契约,要求每个调试任务必须定义以下内容:
- 可复现场景,以及预期行为与实际观察行为的对比
- 数据采集集(日志、运行时状态、资产/配置快照)
- 执行管线中首个错误转换候选
- 按概率与验证成本排序的假设列表
- 修复验证与回归范围
如果缺少上述任何一项,诊断输出即视为不完整。
技能还列出 UE5.6-UE5.8 的 API 锚点,分为以下几类:
核心诊断锚点:
- UE_LOG(...)
- ensure(...), ensureMsgf(...)
- check(...), checkf(...)
运行时调试输出锚点:
- UEngine::AddOnScreenDebugMessage(...)
- UKismetSystemLibrary::PrintString(...)
结构化日志审查锚点:
- FMessageLog::Info(...)
- FMessageLog::Warning(...)
- FMessageLog::Error(...)
资产/配置验证锚点:
- FAssetRegistryModule, IAssetRegistry
- GetAssetsByPath(...)
- GetDependencies(...), GetReferencers(...)
使用方式
工作流分为六个步骤:
-
复现并冻结上下文:构建最小确定性复现,包含精确步骤与前置条件;捕获地图、Actor 设置、输入序列与运行时模式;定义预期结果与实际偏差。
-
采集信号:按相关类别与失败窗口附近的时间戳过滤日志;必要时添加针对性调试标记(UE_LOG、屏幕调试或蓝图打印);在阶段边界捕获相关状态快照。
-
验证数据与资产:验证关键资产/类/配置条目存在且正确解析;检查依赖/引用者中是否存在缺失或不匹配的资产;确认运行时加载的数据与预期环境一致。
-
定位首个错误转换:逐步遍历管线,识别最早的分歧点;将根因与下游噪声症状分离;优先选择置信度最高且可修复的最小原因。
-
假设与验证:按概率与验证成本对假设排序;每个假设运行一个聚焦测试以避免交叉污染;保留被拒绝假设及其证据记录。
-
修复与回归验证:应用最小修复并重新运行同一复现场景;验证相邻系统/路径无回归;输出修复摘要,包含置信度与残余风险。
适用场景
适用于 UE5.6-UE5.8 项目中的调试与验证任务,包括但不限于:排查玩法不生效、日志噪声过滤、资产与配置验证、首个错误转换定位、假设驱动的问题诊断、修复后的回归验证,以及打包构建与编辑器运行不一致等场景。
限制与约束
- 诊断期间避免大范围重构。
- 保持复现确定且有文档记录。
- 优先使用可观察检查而非假设。
- 将根因与次要噪声分离。
- 不要在同一步骤中混合插桩变更与功能修复。
- 在引入缓解变更前保留失败证据。
失败处理方面,技能针对无法稳定复现、日志噪声过多、多个可能原因并存、添加调试输出后问题消失、修复一条路径却破坏另一条路径、以及仅在打包构建中出现运行时不一致等情况,分别给出定位方向与修复建议。
验证操作规范要求:始终保留最小复现工件(步骤、地图、配置)与诊断;始终包含首次失败证据,而不仅是最终症状日志;始终为拟议修复提供验证清单;当置信度低于高时始终说明残余风险。
兼容性说明指出,上述日志/断言/消息/资产注册表 API 在 UE5.6-UE5.8 中保持稳定;对于必须在编辑器外运行的验证路径,优先使用运行时安全的诊断方式。
升级条件:当失败位于项目代码不拥有的引擎/插件内部时升级;当诊断需要当前环境不可用的平台特定性能分析工具时升级。