我们正在Visual Studio 2010中进行QT开发。我希望能够在Visual Studio Debugger中看到A QDomNode变量的内容。
可以通过自定义autoexp.dat文件来自定义Visual Studio调试器中的变量显示。 QT Add in for Visual Studio为autoexp.dat添加了许多自定义,使您能够查看QT类的相关信息,并且有很多关于自定义autoexep.dat的讨论,其中包括QDomNode的自定义,它似乎来自此{ {3}}。但是,即使使用autoexp.dat所描述的修改,QDomNode仍然不可见。
我注意到QDomNode使用成员变量QDomNodePrivate * impl作为PIMPL隐藏其数据成员。这类似于QT中常用的“d”指针,特别是在QString中,它能够正确查看数据......任何指针都会受到赞赏......
答案 0 :(得分:2)
简单的预览是:
QDomNode|*::QDomNode{
preview ($e.impl->name)
}
但是这并没有真正起作用,因为调试器只有在“内部”qdom.cpp中才能看到impl的结构,其中包含QDomNodePrivate的定义。你可以通过踩一些QDom方法来测试它。一个“hacky”解决方案是将QDomNodePrivate的类定义复制到程序中包含的某个头文件中。
不要忘记:您必须是管理员才能成功编辑autoexp.dat!