如何为string_view创建(VC14)调试可视化工具?

星期五

我正在使用boost :: string_view。(www.boost.org/doc/libs/1_61_0/boost/utility/string_view.hpp)

它有一个const char * ptr_和一个未签名的int len_数据成员。当调试它很麻烦时,默认的可视化工具将以比长度更多的字符来显示char ptr_(因为string_view不是以null结尾的)。

我尝试通过查看std :: string可视化工具来创建自己的可视化工具。如果我对长度进行硬编码(比如说4),我可以得到要显示的字符串,但是我不能使它使用实际的长度变量。任何帮助表示赞赏。损坏的示例:

<?xml version="1.0" encoding="utf-8"?>
<AutoVisualizer xmlns="http://schemas.microsoft.com/vstudio/debugger/natvis/2010">
  <Type Name="boost::basic_string_view&lt;char,*&gt;" Priority="High">
    <DisplayString>{ptr_,4}</DisplayString> //works...
    <DisplayString>{ptr_,len_}</DisplayString> //doesnt work...
  </Type>
</AutoVisualizer>
星期五

经过一整天的反复试验,我找到了令人沮丧的简单解决方案。它应该是

"{ptr_,[len_]}" 

它记录在这里:

https://msdn.microsoft.com/zh-CN/library/windows/hardware/dn936815(v=vs.85).aspx

我的工作示例:

<?xml version="1.0" encoding="utf-8"?>
<AutoVisualizer xmlns="http://schemas.microsoft.com/vstudio/debugger/natvis/2010">
  <Type Name="boost::basic_string_view&lt;char,*&gt;" Priority="High">
    <DisplayString>{ptr_,[len_]s8}</DisplayString>
    <Expand>
      <Item Name="[size]" ExcludeView="simple">len_</Item>
      <ArrayItems>
        <Size>len_</Size>
        <ValuePointer>ptr_</ValuePointer>
      </ArrayItems>
    </Expand>
  </Type>
</AutoVisualizer>

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何为python库制作GUI可视化工具?

Cloudera可视化工具

如何避免本地可视化工具中的递归?

Julia图形可视化工具

VXML可视化工具(免费/开源)

Cosmos DB图形的可视化工具

音频可视化工具C#

GDB远程调试-无法实例化默认可视化工具的打印机

调试器可视化工具Winform ToolStripDropDownMenu ComboBox仅在首次显示时显示项目

使用Google可视化工具,如何触发特定行上的选择事件?

如何将复杂数据发送到 TotalView 中的可视化工具?

如何在Power BI中透视表可视化工具

可视化工具包-如何读取和渲染多个对象?

TopCoder使用离线可视化工具进行LawnMowing挑战

使用可视化工具查看git stash

表格Google可视化工具提示HTML

Spring Integration微服务可视化工具

Apache Spark和Cassandra可视化工具

体面的Git分支可视化工具

算法可视化工具DFS实现错误

使用 Pandas 可视化工具绘制多个子图

适用于 AWS Neptune 的图形可视化工具

是否有任何非官方的可视化工具可用于在Visual Studio 2013中调试Qt 4.8项目?

函数ann_viz()中的错误:“ ANN可视化工具:不支持可视化的图层”

可视化工具onFftDataCapture-byte []索引是否代表频率?

什么是最快的纯Java Graph图形可视化工具包?

三星Galaxy S4的可视化工具坏了吗?

Orange.Canvas缺少大多数可视化工具(2015/06/15源)

Tensorflow可视化工具“ Tensorboard”在Anaconda下不起作用