问题标签 [natvis]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - Visual Studio 和 Natvis 不工作
我正在使用 VS Ultimate 2012 更新 5:
- 微软视觉工作室终极版 2012
- 版本 11.0.61219.00 更新 5
- 微软 .NET 框架
- 版本 4.5.50938
...并尝试使用/安装 natvis 来获取用户定义的调试器变量 vizualisations。
我做了 MSDN 或 StackOverflow 中提供的所有提示(例如在注册表中创建 EnableNatvisDiagnostics,或在https://msdn.microsoft.com/fr-fr/library/jj620914%28v=vs.110%29.aspx中创建建议)
没有任何效果。
任何想法 ?问候。阿兰又名BDW
c++ - Qt5.natvis 在 VS 2015 更新 2 中不起作用
我正在尝试在 VS2015 Update 2 中使用 qt5.natvis 文件,但我仍然只看到 Qt 结构的指针地址。我把文件放在里面
这是我正在使用的代码:
有谁知道如何解决这一问题?
c++ - Visual Studio 2015 Natvis 如何显示函数静态变量?
我正在使用 Microsoft Visual Studio 2015 中的 .natvis 文件编写调试器可视化工具。如果可能的话,我想在我的课堂上获得一条信息。我想知道获取该变量的语法是什么。
这是 C++ 代码的简化版本:
在调试器中,当我将鼠标悬停在 MyClass 的实例上时,我想查看向量的大小,但我不知道如何引用它(或者是否可能)。这是可视化器类型,<what goes here?>
在我遇到问题的地方:
实际问题要复杂得多,涉及到奇怪地重复出现的模板模式来创建更好的枚举对象,所以请不要评论这个有点做作的场景的无用性。
visual-studio-2012 - 如何设置 natvis 文件?
我正在尝试使用 Visual Studio 2012 的 .natvis 文件在 Watch 窗口中显示自定义类,但无法显示。
如果我有这个结构
我想显示 IWantToSeeThis 类的对象。我需要使用什么语法?
我试过这些:
但他们都没有看到导致显示结构。
我已尝试通过创建注册表项来启用诊断,如下所述:
https://code.msdn.microsoft.com/Writing-type-visualizers-2eae77a2
但是当我重新启动开发工作室时,输出窗口中没有显示任何诊断信息。
natvis - 是否可以 NATVIS 递归元组(可变参数模板)?
我从这里实现了元组:https ://voidnish.wordpress.com/2013/07/13/tuple-implementation-via-variadic-templates/
是否可以使用 NATVIS 将其可视化?我做到了
如何获得多个类型的 _Myfirst 值,以获取
ETC?
c++ - 将 natvis 文件中 char* 的显示限制为特定长度
我有一个自定义数据结构,其中包含一个char*
具有两个相关长度的缓冲区:最大长度和实际长度:
在 Visual Studio (2015) 调试器可视化器中,我只想显示缓冲区的第一个length
元素,data
而不是(通常未初始化的)剩余元素。
我的自定义.natvis
文件中有以下规则用于显示我的自定义数据结构:
是否可以仅显示data
为从to的“ su
”编码字符串?data[0]
data[length-1]
visual-studio-2015 - 在 Visual Studio 2015 调试器中查看 Qt5.6 QStrings
似乎在 Visual Studio 2015 调试器中可视化 Qt5.6 QStrings 不适用于标准的 QString 可视化方式(向 Visual Studio 2015\Visualizers 添加 natvis),就像在 Visual Studio 2013 及之前所做的那样。这个对吗?有没有人设法在 VS 2015 中添加 QString 可视化?
visual-studio-debugging - 访问 Visual Studio ImageWatch 插件的 .natvis 文件中的矢量基础数据
问题
与此问题类似,我正在尝试将ImageWatch插件用于我自己定义的类型MyImageClass
。ImageWatch 是一个 Visual Studio 插件,允许您在调试代码时以图形表示形式查看图像。您可以编写 .natvis 文件来添加对自定义类的支持。
ImageWatch 插件需要char*
图像数据的类型,但是我将数据存储在std::vector<char>
. 我的 .natvis 文件非常简单,(您可以跳过它,只是为了完整性)
但是我正在努力解决以下问题<Item Name="[data]">image_data</Item>
。图像数据分配不起作用,我无法在查看器中看到图像。相反,我收到“无效”消息。显然,这是因为image_data
is astd::vector<char>
而不是char*
。
我试过的
我在<Item Name="[data]">image_data</Item>
标签内尝试了许多不同的东西来访问底层char*
数据指针的向量,但没有一个工作:
image_data
image_data.data()
显然,在 .natvis 文件中不能调用任何函数,Natvis 输出:错误:在此上下文中不支持副作用。image_data._Myfirst
(类似于 此处的 “ArrayItems 扩展”部分)Natvis 输出:错误:指向绑定函数的指针只能用于调用该函数
什么有效,但不是理想的解决方案
作为一种解决方法并查看我的数据是否正确,我已将 a 添加char*
到结构中,然后将其分配给基础数据的向量。
接着
.natvis 文件相应更改
这行得通,我可以在 ImageWatch 中看到图像。但是,我不想引入一个额外的变量,只是为了 VS 调试器的目的。非常感谢任何帮助。
qt - Visual Studio 2015 Natvis 认为 QString 是枚举而不是类型
在 Visual Studio 2015 更新 3 中,我正在使用添加到我的解决方案文件中的 Qt5.natvis(来自旧的 VS 插件)的自定义版本。在为 QFlags 添加块之后的某个时间,QString 现在被用作枚举。
纳特维斯告诉我Natvis: C:\projects\core\trunk\Qt5.natvis(703,20): Error: constant "QString" is not a type name
。当我QString
在调试器监视窗口中键入时,我看到的不是表示类的图标,而是QString(10)
值列和QMetaType::Type
类型列。
看起来它可能会锁定为我的构建而#defined out 的枚举的替代定义,但是详细日志记录并没有告诉我它是如何查找或解析类型的标头的(尽管我经常必须明确指定模块,尤其是对于私有类。)
有没有人遇到过这个问题,或者知道如何更深入地研究 Natvis 以找出为什么它突然认为 QString 是一种类型?
visual-studio-2015 - Natvis 错误:如果没有运行时类型信息,则无法完成此 dynamic_cast,该信息已禁用
我在 .natvis 文件中有一个动态转换,但是当查看包含该转换的对象时,我收到错误消息:
Natvis Error: this dynamic_cast cannot be done without runtime type information, which is disabled
我已经完成了解决方案中的每个项目并将其打开。在执行此操作之前,还有很多dynamic_cast
调用在代码中按预期工作,所以我不知道natvis
抱怨这个是怎么回事。
有谁知道在 natvis 中是否允许进行 dynamic_casts?似乎无法找到任何一种方式或其他方式。