5.3 KiB
Raw Blame History

早苗治疗技能空引用

  • 分类blocking
  • Issue 数1
  • 0.7.2c 最近一天次数17
  • 设备数合计5
  • 报告生成2026-06-05 12:00:37

Issue

Issue 类型 次数 设备 最近上报 消息
526d5bd9c92269231f74e9c90cfaed62 UnityLogError 17 5 2026-06-05 03:04:59 Timer任务执行异常: 错误信息: SANAEDIVINE - SANAENINE 异常类型: System.NullReferenceException 异常信息: Object reference not set to an instance of an object. 调用堆栈: at bsr.guy () [0x00000] in <00000000000000000000000000000000>:0 at bsr.guz () [0x00000] in <00000000000000000000000000000000>:0 at edc+cqj.iai () [0x00000] in <00000000000000000000000000000000>:0 at i.oj () [0x0000…

设备上下文

526d5bd9c92269231f74e9c90cfaed62

  • 样本 CrashId28caa48b4d65483aa1de2a786e7425de
  • 样本 DeviceIdd8-bb-c1-78-e2-97
  • CrashSight 附带日志文件:False

最终上报内容:

UnityLogError
Timer任务执行异常:
错误信息: SANAEDIVINE - SANAENINE
异常类型: System.NullReferenceException
异常信息: Object reference not set to an instance of an object.
调用堆栈:   at bsr.guy () [0x00000] in <00000000000000000000000000000000>:0 
  at bsr.guz () [0x00000] in <00000000000000000000000000000000>:0 
  at edc+cqj.iai () [0x00000] in <00000000000000000000000000000000>:0 
  at i.oj () [0x00000] in <00000000000000000000000000000000>:0 
  at TH1_Logic.Core.Main.Update () [0x00000] in <00000000000000000000000000000000>:0 
目标对象: edc
UnityEngine.Debug.LogError(Object)
hk.LogError(String, Object)
i.oj()
TH1_Logic.Core.Main.Update()

UnityEngine.Debug.LogError(Object)
hk.LogError(String, Object)
i.oj()
TH1_Logic.Core.Main.Update()

UnityEngine.Debug.LogError(Object)
hk.LogError(String, Object)
i.oj()
TH1_Logic.Core.Main.Update()

UnityLogError
Timer任务执行异常:
错误信息: SANAEDIVINE - SANAENINE
异常类型: System.NullReferenceException
异常信息: Object reference not set to an instance of an object.
调用堆栈:   at bsr.guy () [0x00000] in <00000000000000000000000000000000>:0 
  at bsr.guz () [0x00000] in <00000000000000000000000000000000>:0 
  at edc+cqj.iai () [0x00000] in <00000000000000000000000000000000>:0 
  at i.oj () [0x00000] in <00000000000000000000000000000000>:0 
  at TH1_Logic.Core.Main.Update () [0x00000] in <00000000000000000000000000000000>:0 
目标对象: edc
UnityEngine.Debug.LogError(Object)
hk.LogError(String, Object)
i.oj()
TH1_Logic.Core.Main.Update()

同设备最近 ERROR 上报序列:

时间 Issue 类型 消息
2026-06-05 03:04:59 526d5bd9c92269231f74e9c90cfaed62
2026-06-05 02:58:25 10d4df507992c1a66a90693df20b21c3
2026-06-05 02:46:48 bb81bce180d8672f500aa9f2021ec9f8
2026-06-05 02:38:29 10d4df507992c1a66a90693df20b21c3
2026-06-05 01:06:05 10d4df507992c1a66a90693df20b21c3
2026-06-05 00:38:08 10d4df507992c1a66a90693df20b21c3
2026-06-04 23:33:21 10d4df507992c1a66a90693df20b21c3

代码位置

  • Unity/Assets/Scripts\TH1_Logic\Skill\AllSkill\SanaeDivineSkill.cs:82: timer.TimerRegister(this, playOmikuji,1.1f * i,"SANAEDIVINE - SANAENINE - OnHeal");
  • Unity/Assets/Scripts\TH1_Logic\Skill\AllSkill\SanaeDivineSkill.cs:166: System.Action playOmikuji = () =>
  • Unity/Assets/Scripts\TH1_Logic\Skill\AllSkill\SanaeDivineSkill.cs:171: OmikujiAnim(mapData, originGrid, liveTargetGrid, divine);
  • Unity/Assets/Scripts\TH1_Logic\Skill\AllSkill\SanaeDivineSkill.cs:238: if (origin.InMainSight() || target.InMainSight())
  • Unity/Assets/Scripts\TH1_Data\GridData.cs:513: public bool IsMainMap()

解码结论

解码栈是 RuntimeData.GridData.IsMainMap -> RuntimeData.GridData.InMainSight -> Logic.Skill.SanaeDivineSkill.<OnDamageOther>b__0 -> Timer.Update。也就是说,这次不是普通治疗数值逻辑报错,而是早苗 SANAEDIVINE + SANAENINEOnDamageOther 内注册的延迟神签动画回调,执行到 OmikujiAnimorigin.InMainSight() || target.InMainSight() 时触发空引用。

当前 OnDamageOther 已经用 TryGetLiveUnitGrid/TryGetLiveGrid 在回调前重新取 live gridGridData.InMainSight() 内部继续依赖 Main.MapData.GridMapMain.MapData.PlayerMap.SelfPlayerData.Sight。样本 hasLogFile=false,所以看不到完整战斗前序;从可见链路判断,最可能是定时器延迟期间主地图或 SelfPlayerData 生命周期变化,导致 GridData.IsMainMap/InMainSight 访问空对象。这个根因还可能表现为早苗神签 VFX 缺失、攻击后连发动画断掉、或切图/切状态后延迟技能回调报错。

判断

这是阻断类,因为 CrashSight 行或 LogError 包装内容中存在真实异常类型、异常对象或调用栈;不是单纯业务状态诊断。 本批样本 hasLogFile=falseAPI 能拿到的是最终上报内容和同设备 ERROR 上报序列,不包含完整 Unity 运行日志;根因上下文按可见上报链路记录。

建议

优先按次数最高的 Issue 样本复现并修复;若同设备上报序列中出现更早的异常,应以更早异常作为源头处理。