linux - 使用来自不同系统的 GDB 分析核心转储会给出 .dynamic 部分警告

标签 linux debugging gdb embedded core

我有一个在主机上构建的程序,带有针对特定目标机器的 SDK。然后程序在目标机器上运行并崩溃。当我尝试在主机上分析它时,我收到了几个错误:

warning: .dynamic section for 
"/opt/rcsos-2.1.0/x86_3.12.15-rt25-r1/sysroots/x86-rcs-linux/usr/lib/libglib-2.0.so.0"
is not at the expected address (wrong library or version mismatch?)

我在 SDK 的根目录中有 sysroot,它似乎正在尝试使用所述 SDK 中的共享库,并且正确的调试信息文件存在于库所在目录的 .debug 子目录中,我不确定缺少什么并导致此错误。

最佳答案

您可能看到此错误的一个原因是主机和目标上的共享对象版本不同。在共享对象上调用的 file 命令的输出包括构建 ID;如果构建 ID 在主机和目标之间不一致,那将与其他错误一致,例如您询问的消息中的错误。

关于linux - 使用来自不同系统的 GDB 分析核心转储会给出 .dynamic 部分警告,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39979602/

相关文章:

c - 多维数组的值为 "skipped"的奇怪错误

c - 选择和一些客户

linux - Bash:从 ls -l 读取专栏

java - 奇怪的 Java 线程池行为 - 除非使用 Future,否则会丢失任务

ios - 如何调试 "watchdog timeout"崩溃日志?

c - gdb:不要在 fork 上与父分离

linux - 无法为我崩溃的程序创建核心文件

Linux:如何检查进程可用的最大连续地址范围

linux - 来自虚拟机的 Kerberos 身份验证 (Ubuntu)

visual-studio - 从命令行运行 Debug模式