如何使用lldb为Qt加载漂亮的打印机。

3
根据Clion官方手册,调试器中可以显示可读的qt类型,但是目前无法正常工作。
我按照手册的说明下载了lldb_formatters,并将其添加到项目源文件下的.lldbinit中,就像这样。
//${project_source}/.lldbinit
 command script import ~/lldb_formatters/all.py

“qstring”和“qvector”在脚本导入后变得无效。
我想知道是否有我错过的步骤。

1
使用 type {summary/synthetic} info VarName 命令,其中 VarName 是此文件应格式化的变量之一的名称。这将告诉您格式化程序是否已正确注册该类型。您可以使用 v --raw VarName 确保值可用(有时值未初始化等)。如果格式化程序被识别并且底层值似乎正常,则可能是格式化程序代码不正确。 - Jim Ingham
1
您可以编辑lldb_formatters.py文件,在未能正常工作的格式化程序函数开头添加一行:breakpoint()。然后,当您运行v VarName时,您将停在Python调试器中,并可以逐步执行格式化程序代码以查看问题所在。这些格式化程序通常依赖于给定类型的实现细节,因此可能布局已更改但格式化程序没有跟上更新,或者类似的情况。 - Jim Ingham
1个回答

2

我已经尝试过这个插件,它太棒了! - isudfv

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接