【发布时间】:2018-06-13 02:06:03
【问题描述】:
我正在使用 Qt Creator 调试器,但是当我想通过从 Locals 和表达式 视图展开来检查当前的 this 变量时,需要相当长的时间在交还控制权之前很长(大约 30 秒)。
我在 Debugger Log 视图中注意到以下消息:
3518fetchVariables({"autoderef":1,"context":"","displaystringlimit":"100","dyntype":1,"expanded":["return","inspect","local.this","watch","local"],"fancy":1,"formats":{},"nativemixed":0,"partialvar":"local.this","passexceptions":0,"qobjectnames":1,"stringcutoff":"10000","token":3518,"typeformats":{},"watchers":[]})
(lldb) script theDumper.fetchVariables({"autoderef":1,"context":"","displaystringlimit":"100","dyntype":1,"expanded":["return","inspect","local.this","watch","local"],"fancy":1,"formats":{},"nativemixed":0,"partialvar":"local.this","passexceptions":0,"qobjectnames":1,"stringcutoff":"10000","token":3518,"typeformats":{},"watchers":[]})
bridgemessage={msg="Searching for type QObjectPrivate across all target modules, this could be very slow"},
eERROR: Lldb stderr: error: PlaybackDevice.o DWARF DW_TAG_array_type DIE at 0x0000db86 has a class/union/struct element type DIE 0x0000db92 that is a forward declaration, not a complete definition.
Try compiling the source file with -fno-limit-debug-info or disable -gmodule
我正在使用:
- Qt 5.9.2
- Qt Creator 4.5.0
- OSX 10.12.6。
编辑:
Kuba Ober 建议我使用 Qt (5.10.0) 的调试版本,这要归功于此链接:Qt Creator debugger very slow
不幸的是,消息已更改为:
eERROR: Lldb stderr: error: PlayBackDevice.o DWARF DW_TAG_array_type DIE at 0x0000f43e has a class/union/struct element type DIE 0x0000f44a that is a forward declaration, not a complete definition.
Try compiling the source file with -fno-limit-debug-info or disable -gmodule
【问题讨论】:
-
这可能取决于您的
this变量包含什么,或者即使对于简单的对象也总是很慢? -
this继承QObject。如果this是一个简单的对象,它会很快扩展。 -
请注意日志中的以下消息:
"Searching for type QObjectPrivate across all target modules, this could be very slow"
标签: macos qt debugging qt-creator