announcing wldbg

Marek Chalupa mchqwerty at gmail.com
Thu Jul 23 02:50:13 PDT 2015



On 07/23/2015 11:22 AM, Pekka Paalanen wrote:
> On Wed, 22 Jul 2015 16:27:46 +0200
> Marek Chalupa <mchqwerty at gmail.com> wrote:
>
>> 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 :)
>
> Hi Marek,
>
> that sounds cool. Want to send a patch to add a link to
> http://wayland.freedesktop.org/extras.html ?

Sure, that's good idea.

>
> Hopefully someone would push that before I get back from
> holidays. :-)

Enjoy your holidays ;-)

>
>
> Thanks,
> pq
>

Regards,
Marek


More information about the wayland-devel mailing list