【发布时间】:2014-01-08 12:39:19
【问题描述】:
在 Visual Studio 2012 中,我正在寻找一种方法来自定义 Autos、Locals 和 Watch 窗口中浮点类型的默认显示。我熟悉 Native Visualizer (Natvis) 实用程序,但没有看到任何调试器格式化工具来完成此操作。同样,我不知道有什么方法可以覆盖任何原始类型的默认显示(除了启用十六进制)。
目标是为与点、几何向量等对应的类型创建具有较少扩展位数的显示字符串,但在扩展类型时仍会显示所有精度。因此,例如,我可能在 Autos 窗口的中间列中将点类型的变量显示为 (0.000, 1.234, 2.429) 而不是 m_x = 0.00000000, m_y = 1.234245213...。
我查看了this page 的格式说明符,但没有找到控制浮点精度的方法。
【问题讨论】:
-
你能在显示之前将每个值作为一个字符串(或转换它)吗?如果是的话,我可能有一个解决方案。等待您的答复..?
-
@KhaledHassan 我可以,在很多地方我们都这样做是为了调试输出,但对于广泛使用的类型,我不想更改实际来源。我真的在寻找一种方法来调整调试器呈现双精度的方式。
-
@MarkRansom 谢谢。原生可视化文件很棒,但不幸的是,它似乎没有添加任何额外的选项来显示在自动或即时窗口中尚不可用的原始数值。
标签: c++ debugging visual-studio-2012 natvis