1

我正在使用 Visual Studio 2015 和 Qt5。

我已经在 Vislaualizers 文件夹中添加了 qt5.natvis。我在工具 > 选项 > 调试 > 常规菜单中设置了“使用本机兼容模式”选项。

即使这样,调试时 QString 值也不会正确显示。Locals/Autos/Watch 窗口上仅显示内存方向。任何想法?

我已经为本机诊断消息设置了详细选项,这就是我得到的:

Natvis: Parsing natvis xml file: D:\<user_name>\Documents\Visual Studio 2015\Visualizers\qt5.natvis.
Natvis: Fatal error: 
Natvis: Parsing natvis xml file: C:\PROGRAM FILES (X86)\MICROSOFT VISUAL STUDIO 14.0\COMMON7\IDE\EXTENSIONS\MICROSOFT\PYTHON TOOLS FOR VISUAL STUDIO\2.2\PythonDkm.natvis.
Natvis: Fatal error: 
Natvis: C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\Packages\Debugger\Visualizers\qt.natvis(128,25): Error: a pointer to a bound function may only be used to call the function
Error while evaluating 'd->data,sub' in the context of type '<executable>!QString'.
Natvis: C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\Packages\Debugger\Visualizers\qt.natvis(127,6): Ignoring visualizer for type 'QString' labeled as 'QString' because one or more sub-expressions was invalid.
4

3 回答 3

1

MSVS 的 qt 插件原件qt5.natvis包含一些奇怪的问题。我使用替代 natvis。我不确定这在 MSVS 2015 上是否可以正常工作,如果可以,您可以请作者帮助您

于 2020-12-11T17:17:04.950 回答
0

您需要使用较旧的 natvis 文件。您正在使用的那些似乎使用了 VS 2015 中不可用的功能。

natvis 文件来自qt-labs/vstools存储库。GitHub 的在线浏览器显示了2 个修订版src/qtvstools/qt5.natvis.xml,一个来自 2018 年,另一个来自 2020 年。

2018 年的修订版也将文件从 重命名src/qtvisualizer/qt5.natvis.xml,其中包含一个先前的修订版

由于最旧的修订版来自 2016 年,也许这适用于 VS 2015。

于 2020-12-11T17:20:47.173 回答
-1

也许您的“Qt 调试信息文件”组件没有安装。初始安装后,您可以使用 MaintenanceTool 添加任何缺少的组件。

于 2020-01-27T16:32:08.293 回答