在 Visual Studio 2013 调试中显示 QString (Qt5) 内容?
Posted
技术标签:
【中文标题】在 Visual Studio 2013 调试中显示 QString (Qt5) 内容?【英文标题】:Display QString (Qt5) content in Visual Studio 2013 debugging? 【发布时间】:2015-04-20 10:21:57 【问题描述】:我曾经在谷歌上搜索过很多关于它的信息。
我启用了 Debugging -> Edit and Continue in Native Only 选项 我试图将 Visualizers 添加到Visual Studio 2013\Visualizers
codeplex 上的 vstools 项目似乎不适用于 2013 年
但到目前为止没有任何帮助......
【问题讨论】:
你试过Visual Studio Add-in吗?也看看wiki.qt.io/IDE-debug-helpers#MS_Visual_Studio_2013 @m.s.yes,好像 2010 是最后一个支持的版本 code.qt.io/cgit/qt-labs/vstools.git/tree/Qt4VS2003/… 更多链接,应该会有所帮助:forum.qt.io/topic/34189/qt-in-visual-studio-2013/2 和 download.qt.io/official_releases/vsaddin/… @m.s.我安装了它,添加了 qt 但我仍然看不到 QString 内容... 我推荐使用这个预建插件:VS 2013 addin 【参考方案1】:有一个明确的、原生的 MSVC 解决方案,无需使用插件等:see my answer from here
假设你有QString str
,然后添加到调试器会话监视窗口:
Qt4:
((str).d)->array,su
Qt5 稍微复杂一些:
(char*)str.d + str.d->offset,su
【讨论】:
【参考方案2】:我搜索了这个问题的答案很长时间,最终成功通过尝试检查/取消选中提到的选项看到了 QString 内容。希望可以帮助别人。
display qstring content
-
安装qt-vs-addin-msvc2013-2.0.0-beta.vsix
取消选中工具->调试->编辑并继续->启用本机编辑并继续Uncheck TOOLS->Debugging->Edit and Continue->Enable native Edit and Continue
【讨论】:
感谢您提供“启用本机编辑并继续”设置和屏幕截图的完整路径。这对我有帮助。【参考方案3】:我知道这个问题已经有一段时间了,但如果相关,对于 VS 2013,请转到
"C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\Packages\Debugger\Visualizers"
并在文本文件中添加来自下面链接的代码并将其命名为 qt5.natvis。 对于 VS 2019,位置为:
C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\Common7\Packages\Debugger\Visualizers"
希望这会有所帮助。
pastebin code for seeing qt variables in visual studio
【讨论】:
该文件中的所有 QVariant 检查会减慢调试会话的速度吗?【参考方案4】:通过禁用Debugging -> Edit and Continue
管理查看QString
内容
不确定是否有更好的解决方案
【讨论】:
在没有 Qt Visual Studio 插件的情况下这也可以工作吗? @m.s.我不知道,但我想是的 如果没有加载项(在 VS 2013 中测试),这将不起作用以上是关于在 Visual Studio 2013 调试中显示 QString (Qt5) 内容?的主要内容,如果未能解决你的问题,请参考以下文章
远程调试windows 8.1驱动Visual Studio 2013
visual studio 2013 远程调试监视器找不到指定的文件
vmware + visual studio 2013内核调试