UE4 崩溃记录(随时更新)

一些常见的,如死循环,内存溢出等基础问题,就略过。

1.float值的异常。

原因:此异常值为除0的后果,可以用FMath::IsNaN()来判断。另外,还有FMath::IsFinite()是判断是否无穷,如:当出现2.12345678987此类小数点过多的情况时会判断时无穷。

 

2.指针为空,调用其变量或函数。(很常见)

  指针不为空,但内容出现NULL或者异常。(此情况一般是,对这个对象的多处指针引用,但是在A处销毁了,之后在B处继续调用)。这个情况牵扯到内存管理,如果此对象的类是属于UE4的,那可以 yourObject!=nullptr&&_yourObject->IsValidLowLevel()

参见UE4UObjectBase这个底层基类

bool UObjectBase::IsValidLowLevel() const;

bool UObjectBase::IsValidLowLevelFast(bool bRecursive /*= true*/) const

这个UE4自己的内存管理可以解决上述这个问题。但是如果是自己写的C++类,那就要自己设计好内存管理了。

 

3.UMG中,撤销键连续的快速按,会崩溃。



猜你喜欢

转载自blog.csdn.net/qq_35760525/article/details/77429242