调试Visual Studio的C ++自定义类型的可视化工具

时间:2014-08-13 13:04:03

标签: c++ visual-studio debugging

我正在使用一些带有一些笨拙类型的库。在Visual Studio中进行调试时,我希望以可读的形式显示它们。我找到了一些关于如何编辑autoexp.dat文件的非常有用的文章。

http://www.idigitalhouse.com/Blog/?p=83

http://mariusbancila.ro/blog/2007/04/06/tweaking-autoexpdat-for-custom-types-in-vs2005/

假设我有一个String类:

class String {
//...
private:
    char *_cbuf;
}

然后我可以轻松添加可视化工具,因为_cbuf是一个成员变量。我只是写

String{
preview (
[$c._cbuf]
)
}

在autoexp.dat文件的[Visualizer]部分的开头,它可以正常工作。

但是假设我想显示一个更复杂的类型,它没有任何有用的成员变量,但它有非常有用的方法。 E.g:

class Date {
    //...
    String asString() const;
private:
    long _someReallyStrangeAndUnusefulDateRepresentation;
}

我想显示字符串而不是无用的长字符串。怎么做?写

Date{
preview (
[$c.asString()]
)
}

在autoexp.dat中不起作用。

1 个答案:

答案 0 :(得分:3)

好的,经过一些研究似乎通常可以,但不能直接编辑autoexp.dat。

首先解决方案是使用EEAddIn.dll,如下所述:http://msdn.microsoft.com/en-us/library/8fwk67y3%28v=VS.90%29.aspx

另一个解决方案可能是使用内联函数,如Lucien Murray-Pitts'在此页面上发表评论:http://www.virtualdub.org/blog/pivot/entry.php?id=120受启动调试可视化工具的启发。

但是我还没有尝试过这些。