Re: What is the recommended method for debugging applications with Yocto

Khem Raj

On 5/15/20 8:25 AM, Patrick Doyle wrote:
I know I can do
$ bitbake base-image -cpopulate_sdk
and distribute the resulting SDK to developers (myself included).
But suppose I've just built and deployed an image and want to debug a
core file generated by one of the applications.
I don't see .debug directories anywhere in $TMP, so when I try to tell
gdb to use the sysroot from the application, that works, but I don't
get debugging symbols libc, nor do I get stack traces (on my MIPS
(I guess it's possible that I would have found the .debug directories
if I had performed a complete build from scratch without the benefit
of the sstate-cache, but I rely upon the sstate-cache and routinely
start with a blank $TMP)
So, I can populate the sdk, and end up with a pile of .debug directories:
$ find . -name .debug -type d
Which sysroot directory is the best one at which I can point gdb for
getting debug symbols?
If I build this with an autobuilder and want to archive the sysroot
for use by gdb later, which one should I archive?
I could archive the generated SDK, but that will require that I (or
others) install the SDK just to debug a core file, which seems a
little heavy to me. But I can do that, if that's "the Yocto way".
I wonder if there is a lighter weight mechanism for accessing the
debugging symbols during development, and for archiving said symbols
for post-development support.
Any ideas? Best practices? Recommended approaches?
I would think of using IMAGE_GEN_DEBUGFS set to 1 which should generate a debug archive of image

see following for detailed steps


Join { to automatically receive all group messages.