将 natvis 文件中字符* 的显示限制为特定长度

Limit display of char* in natvis file to specific length

本文关键字:显示 文件 natvis 字符      更新时间:2023-10-16

我有一个自定义数据结构,其中包含一个char*缓冲区,该缓冲区具有两个关联的长度:最大长度和实际长度:

struct MyData {
  char* data;
  int length;
  int capacity;
};

在Visual Studio(2015)调试器可视化工具中,我只想显示data缓冲区的前length个元素,而不是(通常未初始化的)其余元素。

我的自定义.natvis文件中有以下规则用于显示我的自定义数据结构:

<Type Name="MyData">
  <DisplayString>content="{data,su}" length={length}</DisplayString>
</Type>

是否可以仅将data显示为从data[0]data[length-1]的"su"编码字符串?

这将限制调试器中字符串的长度:

<Type Name="MyData">
    <DisplayString>{data,[length]su}</DisplayString>
</Type>