Strategy for Snaps with Debugging Symbols

Dmitrii Shcherbakov dmitrii.shcherbakov at
Fri Mar 24 17:49:06 UTC 2017

Hi everybody,

My question is in the context of a libvirt & qemu snap but I think it is
worthwhile to discuss that for any software written in C, C++ or other
compiled languages for which debugging symbols can be generated.

A lot of debugging tasks can be solved by looking at logs and {s,l}tracing
but sometimes this is not enough.

With Debian packages the approaches are:

1) to provide your own -dbg package;
2) let generate it
and add a repo on demand.

One idea for snaps is to use -dbg tracks which are going to contain snaps
with embedded debugging symbols. Of course, some snaps may contain a number
of services so you'd have to customize your build process and create
additional automation around snapcraft to make it more manageable.

Another issue is that with separate snaps that would have debugging symbols
you'd have to replace a non-debug snap with a debug snap which would
complicate things if you had a certain state already and did not want a
transactional erase of the state you wanted to debug.

In the case of ddebs you can just download symbols and use them with an
existing application while with a separate snap you need to perform a

I was wondering if anybody thought about it yet and, if not, to start this
discussion here.

Thanks in advance!
Best Regards,
Dmitrii Shcherbakov

More information about the Snapcraft mailing list