Qt Creator调试器非常慢

我使用的是Qt Creator调试器,但是当我想通过从Locals和表达式视图中扩展来检查当前的this变量时,在回馈控制之前需要相当长的时间(大约30秒)。

我在调试器日志视图中注意到以下消息:

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调试器非常慢

    不幸的是,该消息已经改变为:

    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
    

    我遇到了同样的问题。 什么修复了我的问题是在QtCreator首选项 - >调试器 - >本地和表达式中解除“显示QObject名称,如果可用”。


    我假设你没有使用Qt的调试版本。 虽然这个“bug”很烦人,但它实际上迫使您使用Qt的调试版本来调试您的项目。 它应该让你的工作更有成效 - 当你可以有意识地进入Qt代码时,很多问题更容易解决。


    我有类似的问题,他们主要通过将我的编译器更改为与我使用的lldb相同的目录中的Clang来解决。 (顺便说一下,Clang的文件名是gcc 。)

    链接地址: http://www.djcxy.com/p/41069.html

    上一篇: Qt Creator debugger very slow

    下一篇: Jekyll Code snippet copy