【发布时间】:2017-05-30 14:24:12
【问题描述】:
我正在尝试为我们公司的自定义智能指针创建调试可视化工具。我想使用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] {...}
有什么方法可以将底层动态类型的内容再上一层,这样我就不必处理这种无用的嵌套级别了?
【问题讨论】:
标签: visual-studio debuggervisualizer natvis