Search code examples
gdbcross-compilingcoredump

Is it possible to load core file (generated by arm processor) in x86 machine?


I have memory constraint in my embedded device based on arm architecture. One program crashed at some point and generated core file. Now i am not able load this core file in the same device as i don't have further memory to copy souce files and debug executable (without strip).

Is it possible to load this core file on linux machine (ubuntu, x86 machine) to find crash location ?

some thing like on x86 linux machine #gdb <arm_exe_name> --core <arm_core_file> --target arm


Solution

  • Is it possible to load this core file on linux machine (ubuntu, x86 machine) to find crash location ?

    Yes: you need to binary and any shared libraries it used, the core file, and a GDB cross-debugger built for your target host, or with multiarch support.

    Ubuntu provides gdb-multiarch package which should just work. Something like:

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