announcing wldbg
Marek Chalupa
mchqwerty at gmail.com
Wed Jul 22 07:27:46 PDT 2015
Hi folks,
It's been some time since I started developing a tool called wldbg in my
free time. I'm using it while debugging applications based on wayland
and I think it is in enough good shape to bring it out (although there
is still a lot of missing features I'd like to add/fix)
It can work in few modes. One mode takes a list of modules (I call them
passes, like LLVM passes) and run functions from these modules on every
message that goes through wayland socket (one function for incoming
messages, one for outcoming). Each module can modify, dump,
take statistics, delay the message - whatever it wants (see
passes/example.c in source tree)
Second mode is interactive gdb-like interface. You can set breakpoints,
hide or showonly some particular messages, display what objects clients
has, etc. This mode has few functions, but helped me a lot in some
cases. The usage is very easy:
wldbg -i wayland-client
It will stop on the first message, waiting for commands.
Last mode is server mode. wldbg overtakes the bound socket and accepts
all new connections. It was originally developed for debugging Xwayland,
but since all compositors pass WAYLAND_SOCKET to Xwayland - therefore
Xwayland don't bind to named socket, I don't use it much now. Maybe
somebody of you will :)
The source code is here:
https://github.com/mchalupa/wldbg
Hopefully, some of you will find this tool helpful :)
Cheers,
Marek
More information about the wayland-devel
mailing list