Я использую рецепт на основе Makefile:
myApp.bb:
SRC_URI = "file://application.c \
file://Makefile \
"
S = "${WORKDIR}"
DEPENDS = "protobuf-c ..... pkgconfig-native"
do_compile() {
make all
}
do_install() {
install -d ${D}${bindir}
install -m 0755 myApp ${D}${bindir}
}
с local.conf:
...
IMAGE_INSTALL_append = " myApp myApp-dbg myApp-dev"
EXTRA_IMAGE_FEATURES += "\
dbg-pkgs \
tools-debug \
debug-tweaks \
dev-pkgs"
# Specifies to build packages with debugging information
DEBUG_BUILD = "1"
# Do not remove debug symbols
INHIBIT_PACKAGE_STRIP = "1"
# OPTIONAL: Do not split debug symbols in a separate file
INHIBIT_PACKAGE_DEBUG_SPLIT= "1"
и я могу запустить gdb , и я могу установить точки останова, распечатать переменные и т. Д. c. но я не могу показать исходные файлы:
root@qemuarm:~# gdb /usr/bin/myApp
...
Reading symbols from /usr/bin/myApp...
(gdb) list 42
37 application.c: No such file or directory.
? Так что же мне не хватает?
(*) Когда я использую gdbserver , я могу использовать команду dir
для указания на исходные файлы, но это кажется громоздким. Описание в yocto dev-manual у меня не работает. Поскольку упомянуто в пункте 7 .: /usr/src/debug
в моем случае пусто