如何解决使用 bitbake 构建的二进制文件没有符号表
我正在使用 bitbake 构建一个应用程序,我想解决一些正在发生的段错误。 我已经在运行该应用程序的虚拟机上设置了 gdbserver 并且可以连接。 我的问题是我似乎无法在不剥离符号表的情况下获取图像来构建我的二进制文件。
每当我跑步时:
objdump -t _binary_
它在“符号表”下显示“无符号”。
到目前为止,我已将以下内容添加到 build/conf/local.conf
EXTRA_IMAGE_FEATURES = "debug-tweaks dbg-pkgs tools-sdk tools-debug "
INHIBIT_PACKAGE_STRIP = "1"
INHIBIT_PACKAGE_DEBUG_SPLIT= "1"
我还尝试将以下内容添加到 bitbake.conf:
export CFLAGS = "${TARGET_CFLAGS} -g"
export LDFLAGS = "${TARGET_LDFLAGS} -g"
奇怪的是,我正在查看的二进制文件的大小增加了。由于进行这些更改和新版本的运行时间要长得多。
运行 bitbake -e _recipe_
显示我的配方的环境并反映在 local.conf 中所做的更改。
有没有办法可以查看正在运行的确切 gcc 命令以确保它不会在某处被剥离?我似乎无法在日志中看到它。
解决方法
有没有办法可以查看正在运行的确切 gcc 命令以确保它不会在某处被剥离?我似乎无法在日志中看到它。
正在运行的任务脚本存储在目录 ${T}
(例如,.../build/tmp/work/apalis_imx8-tdx-linux/base-files/3.0.14-r89/temp
)中。有日志 (log.*
) 和 run.*
文件。您可以在 gcc
文件中找到调用的 run.do_compile
命令。剥离本身在 run.do_package
中完成。
剥离的源代码位于openembedded-core/meta/classes/package.bbclass
。它基本上被部分复制到 run.do_package
。
顺便说一句,INHIBIT_PACKAGE_STRIP = "1"
是正确的方法,所以请告诉我们出了什么问题。顺便说一句,您是否尝试在 OE 之外构建二进制文件以检查生成的符号表?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。