我正在尝试为我们公司的自定义智能指针创建调试可视化工具。我想使用ExpandItem
将内容仅向下一层,这适用于具体类型,如ref_ptr<Vector2d>
,但不适用于虚拟类型,如ref_ptr<IStreamManager>
. 使用虚拟类型时,我得到两个条目,一个用于基础类型,然后我可以扩展它,另一个用于__vfptr
.
我得到了什么:
v streamManagerPtr shared_ptr { count=35, ptr=... }
[Reference Count] 2
v [StreamMgr] {...}
m_resourceMgr shared_ptr { count=35, ptr=... }
m_fileMgr shared_ptr { count=23, ptr=... }
...
> __vfptr 0xdeadbeef
> [Raw View] {...}
我想要的是:
v streamManagerPtr shared_ptr { count=35, ptr=... }
[Reference Count] 2
m_resourceMgr shared_ptr { count=35, ptr=... }
m_fileMgr shared_ptr { count=23, ptr=... }
...
> [Raw View] {...}
有没有办法将底层动态类型的内容再上一层,这样我就不必处理这种无用的嵌套级别了?