Tencent/ScriptX

scriptDynamicCast返回NULL导致空指针崩溃

chadguo opened this issue · 1 comments

调用栈:
image

  • Engine.hpp:39 是把引擎类型从ScriptEngine向下转型为V8Engine, scriptDynamicCast返回了NULL;
  • 工程开启了rtti, scriptDynamicCast的实现使用了dynamic_cast;

scriptDynamicCast参数类型:
R: V8Engine
T: ScriptEngine

scriptDynamicCast里测试代码来看:

  • 使用static_cast 转换时t_static_cast非空;
  • 使用dynamic_cast 转换时t_forward_dynamic_cast 为空;

请问是否scriptDynamicCast的实现在向下类型转换时有问题?

看起来是个C++的问题,尝试几个思路:

  1. 编译环境配置,可以写个dynamic cast 的 demo验证
  2. 确认一下调用的顺序,是否在V8Engine的构造、析构函数中触发调用