我在基于arm架构的嵌入式设备中有内存限制。一个程序在某个时刻崩溃并生成了核心文件。现在我无法在同一个设备中加载这个核心文件,因为我没有更多的内存来复制souce文件和调试可执行文件(没有strip(。
有可能在linux机器(ubuntu,x86机器(上加载这个核心文件来找到崩溃位置吗?
一些类似于x86Linux机器的东西#gdb<arm_exe_name>--核心<;arm_core_file>--目标臂
是否可以在linux机器(ubuntu,x86机器(上加载此核心文件以查找崩溃位置?
是:您需要二进制和它使用的任何共享库、core
文件,以及为您的目标主机构建的GDB交叉调试器,或者支持多架构。
Ubuntu提供了gdb-multiarch包,应该可以正常工作。类似于:
gdb -iex 'set sysroot /path/to/embedded/root' /path/to/exe /path/to/core
(gdb) where