mirror of
https://gitlab.freedesktop.org/dbus/dbus.git
synced 2025-12-20 13:50:18 +01:00
25 lines
831 B
Text
25 lines
831 B
Text
|
|
Running D-Bus clients with Valgrind
|
||
|
|
====
|
||
|
|
|
||
|
|
When running programs using libdbus in Valgrind, some special care needs to be
|
||
|
|
taken so as to avoid incorrect detection of leaks in libdbus. To avoid these
|
||
|
|
false positives, do the following:
|
||
|
|
|
||
|
|
* Grab a copy of the D-Bus source code
|
||
|
|
|
||
|
|
* Run configure with the --enable-developer and --with-valgrind options
|
||
|
|
|
||
|
|
* Run make
|
||
|
|
|
||
|
|
* Either make sure your code calls dbus_shutdown() (at least while running in
|
||
|
|
Valgrind) or set DBUS_MESSAGE_CACHE=0 in your environment
|
||
|
|
|
||
|
|
* Run Valgrind on your program with the /path/to/dbus/source/dbus/.libs in your
|
||
|
|
LD_LIBRARY_PATH
|
||
|
|
|
||
|
|
Your Valgrind log should now be free of any (spurious) libdbus-related leaks.
|
||
|
|
|
||
|
|
For the curious, the DBUS_MESSAGE_CACHE=0 is required because by
|
||
|
|
default, libdbus uses a recyclable pool of message structs. These help
|
||
|
|
performance a bit.
|