是否可以在 x86 机器中加载核心文件由 arm 处理器生成?

问题描述

我的嵌入式设备基于 arm 架构存在内存限制。 一个程序在某个时候崩溃并生成了核心文件。现在我无法在同一设备中加载这个核心文件,因为我没有更多的内存来复制源文件和调试可执行文件(不带条)。

是否可以在 linux 机器(ubuntu、x86 机器)上加载此核心文件以查找崩溃位置?

一些像在 x86 linux 机器上的东西 #gdb --core --target arm

解决方法

是否可以在 linux 机器(ubuntu、x86 机器)上加载此核心文件以查找崩溃位置?

是的:您需要二进制文件及其使用的任何共享库、core 文件,以及为目标主机构建的 GDB 交叉调试器,或支持多架构。

Ubuntu 提供了应该可以正常工作的 gdb-multiarch package。类似的东西:

gdb --sysroot /path/to/embedded/root /path/to/exe /path/to/core
(gdb) where