UE5 Debug的一些心得

1、BUG粗略可分为两类:

一种是显性的,编译直接就通不过,必须马上解决。

第二种是隐性的,新功能完成后,编译成功顺利运行,洋洋自得,而问题隐藏在幕后,测试之后才逐渐发现有问题,

从代码角度是没毛病的,没报错,但不符合设计需求。

而随着工程复杂度的上升,找问题,甚至快速看懂以往的代码都变得越来越困难,尤其是逻辑很复杂的系统,有注释的话好一些。这也拖慢了DEBUG的速度,连发现BUG在哪里都是个难题。

2、低级错误。就个人而言,以往的BUG中有很大概率最终发现是低级错误,

比如功能相似的变量或BP命名相似,结果用错了,则必然不符合需求。

查了一圈都没毛病,最终才发现是用错了,如果早点发现,则节约大量时间。

从命名上就要规避,要区分开来。

没用的要删掉,或名字改为冷门的,以减少误操作。

比如修改过程中某个分支判断的真假接反,也会导致不符合需求,密密麻麻一大堆而屏幕显示内容少加大了失误概率。

3、地方不对。虽然理论上放哪里都行,但实际上重要逻辑放在UI,或物件里,则就容易出问题,虽然不报错,但达不到效果。

而放在FPC、GM等重要地方就能发挥作用,换个地方就不行。

原因之一就是物体与UI很可能一开始并没有加载,所以相关参数也无法传出去,逻辑是废的。

相关推荐
陈友松3 小时前
UE5 表格文件动态导入导出插件
ue5
zhangzhangkeji3 小时前
UE5 C++(17):结构体,USTRUCT(BlueprintType) struct FmyStruct ,必须用 F 开头
ue5
碎梦人9 小时前
基于UE5开发的pico大空间项目开发之虚拟坐标系与真实坐标系的对应关系
ue5·lbe·大空间坐标系对应关系
zhangzhangkeji9 小时前
UE5 C++(16):枚举 UENUM,UENUM(BlueprintType) 使其成为蓝图里的类型。模板类 TEnumAsByte<enum 类型>
ue5
zhangzhangkeji9 小时前
UE5 C++(UObject 的实例化 19-2):UObject 类的继承关系
ue5
妙为1 天前
Unreal Engine5报错:Expected WarriorDebugHelper.h to be first header included.
ue5·虚幻·编译错误
Zhichao_972 天前
【UE5.3 C++】ARPG游戏 04-角色脚部贴合地形
游戏·ue5
zhangzhangkeji2 天前
UE5 C++(2):保存 vs2022 文本时采用 UTF 编码,以解决到 UE 里的乱码问题,高级保存选项
ue5
AI视觉网奇2 天前
audio2face mh_arkit_mapping_pose_A2F 不兼容
笔记·ue5
zhangzhangkeji2 天前
UE5 C++(11-2):TMap 的成员函数。TMultiMap;TMap 里迭代器的类位置定义。
ue5