Skip to main content
You need debug symbols to parse coredumps. By design, Yocto Project compiles a package and splits it into several packages. For example, if the hello_0.1.bb file compiles the hello.cpp file, it generates several packages. The following table lists the packages that are relevant to the coredump. Table: Packages required for parsing coredumps
PackageDescription
hello_0.1-r0_armv8-2a.rpmThis package includes a stripped executable and is the only package included in the device image.
hello-dbg_0.1-r0_armv8-2a.rpmThis package includes the debug symbols and is never packed in the image. The debug package (-dbg) significantly increases the image size, causing problems when including it. Apart from debugging, this package has no runtime value. Therefore, as a strategy, Yocto doesn’t include any -dbg package in the image.
hello-dev_0.1-r0_armv8-2a.rpmThis package includes the exported headers and libraries that dependent modules use during compilation.
According to Yocto Project standards, the build location path tmp/deploy/rpm/armv8-2a stores the debug symbols. For example, tqftpserv-dbg_0.0+0+de42697a24-r0_armv8-2a.rpm package includes the debug symbols for the /usr/bin/tqftpserv directory. To push the debug symbols to the device, do the following using SSH:
  1. Remount the rootfs.
    mount -o rw,remount /
    
  2. Using the scp command, push the debug symbols (tqftpserv-dbg_0.0+0+de42697a24-r0_armv8-2a.rpm) to the device at any available partition such as /data/.
    chmod 777 /data/tqftpserv-dbg_0.0+0+de42697a24-r0_armv8-2a.rpm
    
    cd data
    
  3. Install debug symbols on the device.
    dnf install tqftpserv-dbg_0.0+0+de42697a24-r0_armv8-2a.rpm
    
    After you push the debug symbols to the device, the system saves the symbols at the path of the executable directory in the .debug directory. For example, if the executable is in the /usr/bin/tqftpserv directory, then the system saves the debug symbols in the /usr/bin/.debug directory.
  4. To identify the debug symbols that are available on the device, run the following commands:
    cd /usr/bin/.debug
    
    ls
    
Sample output:
gencat getent locale pcprofiledump sprof zdump

getconf iconv makedb pldd tqftpserv