[Interest] When does Qt load its plugins?

Thiago Macieira thiago.macieira at intel.com
Wed Jul 13 20:36:51 CEST 2016


Em quarta-feira, 13 de julho de 2016, às 20:14:06 PDT, Elvis Stansvik 
escreveu:
> Alright, I sort of suspected that was the case. But I realize now that
> it's much better I read up on what each plugin does and determine if I
> need it, instead of trying to deduce it from stracing.

Another detail about strace: the plugins may be scanned for metadata very 
early on, much earlier than when they're actually loaded. And even those that 
are loaded may never be actually used, like some image formats.

You can use QT_DEBUG_PLUGINS=1 to get some debugging output from QLibrary 
about whether it's scanning and which ones it actually loads. You can also use 
LD_DEBUG=libs (or "files") to get the Linux dynamic loader to tell you what it 
is really loading, and even why. Though the "why" is useless for plugins 
loaded via QLibrary, because they will all show up as "loaded by QtCore".

You may be able to detect an open(2) call by QLibrary vs an open(2) call by 
ld-linux.so in your strace by the flags that each one uses or the calls done 
immediately after. Exercise left to the reader.

-- 
Thiago Macieira - thiago.macieira (AT) intel.com
  Software Architect - Intel Open Source Technology Center




More information about the Interest mailing list