VSCode natvis 处理某些变量,但不处理相同模板类型的其他变量
Posted
技术标签:
【中文标题】VSCode natvis 处理某些变量,但不处理相同模板类型的其他变量【英文标题】:VSCode natvis working on some variables but not others of the same template type 【发布时间】:2021-06-17 22:37:26 【问题描述】:在 android 的 NDK 上使用上述 std::vectors。如果我为 std::__ndk1::vector_base 定义 natvis 如下
<Type Name="std::__ndk1::__vector_base<*>">
<DisplayString>size=__end_ - __begin_</DisplayString>
<Expand>
<Item Name="[size]" ExcludeView="simple">__end_ - __begin_</Item>
<Item Name="[capacity]" ExcludeView="simple">__end_cap_.__value_ - __begin_</Item>
<ArrayItems>
<Size>__end_ - __begin_</Size>
<ValuePointer>__begin_</ValuePointer>
</ArrayItems>
</Expand>
</Type>
我得到以下信息
为什么 natvis 定义适用于 unsigned char
而不是 unsigned long
?
【问题讨论】:
【参考方案1】:看起来这可能是 VSCode 中的一个错误,因为在 2020 年 8 月报告了一个错误(现已关闭),这似乎暗示在模板中使用 unsigned long
时存在问题。
https://github.com/microsoft/vscode-cpptools/issues/5253
【讨论】:
以上是关于VSCode natvis 处理某些变量,但不处理相同模板类型的其他变量的主要内容,如果未能解决你的问题,请参考以下文章
cmd窗口输入code打不开vscode。提示不是内部或外部命令,也不是可运行的程序或批处理文件?