问题标签 [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.
vscode-debugger - VSCode 在 Natvis 中访问本地创建的变量
我有以下 natvis 代码,用于在调试器中可视化我的 q23_t 类(较大的 natvis 文件的一部分)。我无法让 natvis 显示 ibit23 的值,它是本地定义的变量。我收到以下错误:
-var-create:无法创建变量对象
我想知道如何声明一个局部变量并为我的项目访问它。非常感谢。
visual-studio-code - 在 VSCode/Natvis 中使用 CustomListItems
我正在使用 Natvis 在 VSCode 中为我的自定义类开发一些调试可视化。使用 CustomListItems 和一个简单的例子,我无法让它工作。基本上,我认为下面的代码应该显示 16 个项目,所有项目的值为 1,但我只得到类的基本类型..
我得到什么:
噘嘴:16 x q23 数组
>[原始视图]:0x56594b40 <xin>
花了很多时间尝试各种事情,所以我将问题减少到这个基本级别并且无法让它工作。
c++ - Qt4.natvis 在 Centos 7 上的 VSCode 中不起作用
我正在使用 VSCode 通过 SSH 在 Centos 7 上使用 Qt4 进行开发。我的 launch.json 内容如下:
当悬停在名为 stmt 的 QString 上时,弹出窗口中会显示一些信息,例如字符串大小,但没有关于实际文本内容的信息。在监视窗口中也是如此。主可视化器文本为“-var-create:无法创建变量对象”
当我悬停时,gdb 会生成以下错误消息流。
有多个“-var-create”错误和“可视化表达式需要显式刷新”错误的实例。
visual-c++ - 如何将单个字符的 natvis 限制为仅 VisualStudio 中的字符
当创建一个
在 .natvis 文件中,字符显示为 fe
82'R'
我正在寻找一种将其显示为的方法
'R'
例如没有号码。
visual-studio - Natvis 与复杂类型名称不匹配
我有以下 .natvis 文件用于可视化哈希表的元素。
我(还)不关心复杂的可视化逻辑,而只是关心名称匹配。这个 natvis 为 typevbl::Hash_Table<Handle, Entity*, null>
而不是为 type加载vbl::Hash_Table<Physics_Body*, long, function (Physics_Body* b) @system => hash32((*b)::entity::handle::raw_handle::bitfield)>
。输出窗口显示 natvis 完全编译第一个,但甚至不考虑第二个。
第二种类型的签名完全疯狂,我知道,但不幸的是我必须使用它并且无法弄清楚为什么它不匹配。我认为名称匹配系统可能匹配得很好,因此>
将匹配大于=>
而不是在末尾,但由于嵌套模板没有问题,所以情况并非如此。
如何更正<Type Name="vbl::Hash_Table<*>">
以匹配两个类型签名?
visual-studio - 如何在 Visual Studio 调试器中漂亮地显示带有远程 gdb 的对象(可能通过适当的 natvis 文件)?
我有一个用于显示复杂结构和对象(例如 nlohmann json 或 STL)的 natvis 文件,它在调试 x64 编译代码时效果很好。但是,一旦我将平台切换到 ARM64(2020 年 1 月的带有 aarch64-poky-linux 的 yocto-sdk-5.4)并通过交叉编译器编译并通过目标上的远程 gdb 进行调试,我就无法查看所有此类对象,例如 nlohmann json 节点或 STL 字符串。
我想知道远程 gdb 是否有一个特殊的 natvis 文件,或者必须调整什么文件才能让 Visual Studio 漂亮地显示这些对象的结构。你有想法或解决方案吗?
注意:如果我查看这些对象,我可以看到子元素 _M_p 和 _M_t,这让我认为 gdb 没有启用漂亮打印。不幸的是,我在互联网上找到的所有解决方案(打开漂亮的打印)都适用于 Visual Studio Code,但我有 MSVC 2017。
c++ - 自定义类型的 Natvis C++ 格式
我一直在尝试为派生变量创建 VS2019 C++ 的 natvis 文件。我已经从 NDK 构建了库,尽管我认为这无关紧要。
这是一个屏幕截图:
你能给我一些关于如何至少开始可视化它的提示吗?到目前为止,我的尝试效果为零。我承认我发现阅读模板样式变量很困难。
我目前的尝试:它源自 std::string (看一下片段)。
我的尝试是:
c++ - 是否可以在 .nativs 文件中输入 VSCode 映射 [IDs, Strings] 并在调试时输出关联的字符串?
我在应用程序中有很多寄存器 ID,为了调试应用程序,我需要知道寄存器的名称而不仅仅是 ID。
是否可以在 .natvis 文件中维护地图并使用漂亮的打印将 ID 转换为注册名称(字符串)?
示例:0x1234,“foo” 0x1122,“bar”