教程/手册如何在 autoexp.dat 中创建 Visualizer
Posted
技术标签:
【中文标题】教程/手册如何在 autoexp.dat 中创建 Visualizer【英文标题】:Tutorial/Manual how to create Visualizer in autoexp.dat 【发布时间】:2011-02-03 06:57:59 【问题描述】:我有一些 C++ 数据类型,我想改进我团队的调试体验。因此,我想在 autoexp.dat 文件中创建一个自定义可视化工具。 [AutoExpand] 部分似乎不够用,所以我开始查看 [Visualizer]。我发现this website 有一些解释,但是有没有全面的参考/手册/教程?例如,我不明白 $c 和 $e 之间的区别。我已经成功展示了一些基本信息,但我觉得还有很多东西要知道......
你知道什么好的资源吗?
谢谢!
【问题讨论】:
仅供参考,除了您引用的 virtualdub.org 中的 boost 沙箱链接,here 关于$c和$e的区别,followup note有注释(抱歉,如果你已经看过了)。 不,我没见过这个!非常感谢!如果你愿意,你可以让它成为一个答案! 谢谢,不客气 :-) MSDN 文档说您只能将[Visualizer]
s 与_managed_ 代码一起使用。对于native C++,你应该被[AutoExpand]
规则所困扰。这似乎与从此处链接的任何 cmets、答案或站点都不一致。 msdn.microsoft.com/en-us/library/e2zc529c(v=vs.100).aspx
【参考方案1】:
似乎上面已经对此进行了评论,但提出这个问题的人不一定会阅读 cmets,因此可能会错过 boost 网站上提供的精彩教程:
https://svn.boost.org/trac/boost/wiki/DebuggerVisualizers
还有
http://mariusbancila.ro/blog/2007/04/06/tweaking-autoexpdat-for-custom-types-in-vs2005/
http://www.idigitalhouse.com/Blog/?p=83
http://www.chromium.org/developers/how-tos/how-to-set-up-visual-studio-debugger-visualizers
http://www.virtualdub.org/blog/pivot/entry.php?id=172
【讨论】:
关于 VS2008 SP1 的一个非常有用的信息是 _vcee_autoexp 环境变量。致谢:vtk.org/Wiki/ITK/Debug_Visualizers_for_Visual_Studio【参考方案2】:下面是 boost::tuple 的可视化示例。应该很容易理解:
boost::tuples::tuple<*>
; Show as (11, 22, 33, ... )
preview (
#(
"("
, $e.head
, ", "
, $e.tail.head
, ", "
, $e.tail.tail.head
, ", "
, $e.tail.tail.tail.head
, ", "
, $e.tail.tail.tail.tail.head
, ", "
, $e.tail.tail.tail.tail.tail.head
, ", "
, $e.tail.tail.tail.tail.tail.tail.head
, ", "
, $e.tail.tail.tail.tail.tail.tail.tail.head
, ", "
, $e.tail.tail.tail.tail.tail.tail.tail.tail.head
, ", "
, $e.tail.tail.tail.tail.tail.tail.tail.tail.tail.head
, ")"
)
)
children (
#(
0: $e.head
, 1: $e.tail.head
, 2: $e.tail.tail.head
, 3: $e.tail.tail.tail.head
, 4: $e.tail.tail.tail.tail.head
, 5: $e.tail.tail.tail.tail.tail.head
, 6: $e.tail.tail.tail.tail.tail.tail.head
, 7: $e.tail.tail.tail.tail.tail.tail.tail.head
, 8: $e.tail.tail.tail.tail.tail.tail.tail.tail.head
, 9: $e.tail.tail.tail.tail.tail.tail.tail.tail.tail.head
)
)
【讨论】:
以上是关于教程/手册如何在 autoexp.dat 中创建 Visualizer的主要内容,如果未能解决你的问题,请参考以下文章
在调试可视化工具中转换为 std::string (autoexp.dat)
为了能够检查向量中包含的类的数据成员,我需要在 autoexp.dat 中输入啥?