情景:
调试中发现某一属性在使用的某一瞬间突然改变了值:enableRotation(是否开启鼠标拖动控制旋转)突然由false转为 true
右键它Find Usages发现有许多赋值语句,根据现有线索很难判断运行时是在哪里赋值的。
解决方法:
找到该属性/变量定义的位置,加上set,get方法:
举例如下:
private bool m_EnableRotation;
public bool enableRotation
{
get => this.m_EnableRotation;
set
{
this.m_EnableRotation = value;
if (value == false)
{
Debug.Log("Set enableRotation False");
}
}
}
再次调试,复现问题发生的情况,在unity的Console中查看Debug打印信息的堆栈即可找到使value变为false的代码所在。