Visual Studio中智能指针对象的自定义视图
Custom views of smart pointer objects in visual studio?
我需要将智能指针用于具有多个类别的应用程序。在调试代码时,一个困难是Visual Studio 2015的手表窗口内的智能指针(例如unique_ptr
)的视图。它总是同时显示[ptr]
,[deleter]
和[Raw View]
,而我主要关心快速看到[ptr]
的内容。扩展指针的视图。是否有一种方法可以使调试变得更加容易,并自定义显示智能指针内容的视图与Visual Studio 2015中的原始指针相同?我知道应该使用适当的navisfile可以做到这一点,但是我不知道如何修改以下navisfile以显示[ptr]
的内容?
<?xml version="1.0" encoding="utf-8"?>
<AutoVisualizer xmlns="http://schemas.microsoft.com/vstudio/debugger/natvis/2010">
<Type Name="std::unique_ptr<*>">
<SmartPointer Usage="Minimal">_Mypair._Myval2</SmartPointer>
<DisplayString Condition="_Mypair._Myval2 == 0">empty</DisplayString>
<DisplayString Condition="_Mypair._Myval2 != 0">unique_ptr {*_Mypair._Myval2}</DisplayString>
<Expand>
<Item Condition="_Mypair._Myval2 != 0" Name="[ptr]">_Mypair._Myval2</Item>
</Expand>
</Type>
</AutoVisualizer>
我不是专家,但是您似乎可以简单地删除<Expand>
节点,然后更改第二个<DisplayString>
以仅显示_Mypair._Myval2
,例如:
<?xml version="1.0" encoding="utf-8"?>
<AutoVisualizer xmlns="http://schemas.microsoft.com/vstudio/debugger/natvis/2010">
<Type Name="std::unique_ptr<*>">
<SmartPointer Usage="Minimal">_Mypair._Myval2</SmartPointer>
<DisplayString Condition="_Mypair._Myval2 == 0">empty</DisplayString>
<DisplayString Condition="_Mypair._Myval2 != 0">_Mypair._Myval2</DisplayString>
</Type>
</AutoVisualizer>
相关文章:
- C++映射:具有自定义类的运算符[]不起作用(总是返回0)
- 如何将点击的信号和插槽添加到qt中的自定义按钮中
- C++自定义比较函数
- 如何比较自定义类的std::变体
- std::设置自定义比较器
- 如何正确实现和访问运算符的各种自定义枚举器
- flutter:即使shouldRepaint()返回true,自定义画家也不会重新绘制
- Qt - QVector 和模型视图 - 从列表视图获取自定义类的最佳方法是什么?
- 使自定义范围 v3 视图可管道化
- 在自定义树视图中显示QCOMBOBOX向下箭头
- Visual Studio中智能指针对象的自定义视图
- 自定义图形列表视图项目不更改文本颜色
- Win32 自定义绘制树视图控件
- 为什么自定义QGraphicsItem会导致场景或视图移动,除非boundingRect为空
- 在Windows XP上自定义绘制的列表视图
- 当单击视图中的项时,从另一个小部件访问自定义模型数据
- QT自定义树视图
- 为自定义对象列表使用哪个模型子类/视图
- Qt自定义小部件如何通知ScrollArea父级有关视图更改的信息
- 使用自定义视图的ICS中位图分配的可用内存