Re: Postmortem debugging with arm-none-eabi-gdb from memory dump (not core)
Hesham M <[email protected]>
| Newsgroups | gmane.comp.gdb.devel |
|---|---|
| Message-ID | <CA+fECkWub2bfbs3+JS7eV7-LN8tDMBooHxoCTJvvuYS0obUU0Q@mail.gmail.com> |
On Sun, Oct 15, 2017 at 4:11 AM, Christian Gagneraud <[email protected]> wrote: > On 14 October 2017 at 21:52, Hesham M <[email protected]> wrote: >> On Fri, Oct 13, 2017 at 4:19 PM, Yao Qi <[email protected]> wrote: >>> On 17-10-05 05:55:38, Hesham M wrote: >>>> Hi all, >>>> >>>> As this is my first email to the list, and as an old user for gdb, I'd like >>>> first to thank the gdb community for their effort. >>>> >>>> In a bare-metal ARM system, is there a way to use arm-none-eabi-gdb for >>>> postmortem debugging, the same way we do when we debug with core file on >>>> Linux, for example? >>>> >>>> The issue is that I don't have a "core" file but I can generate memory dump >>>> of the whole memory (ROM is already known and through the hardware debugger >>>> used I can write the RAM contents to a file (outside the target of course). >>>> I can also collect the registers at the time of the crash. I can do the >>>> debugging/analysis if I connect gdb to the target at the time of the crash >>>> but I need to do this in later time away from the target. I hope to find a >>>> way to debug with memory dumps the same way gdb debugs with core files. >>>> >>>> Of course if I can convert the memory dump to a valid core file, it might >>>> be another path to the solution. I don't know how to do that or if there is >>>> a tool that can help with this conversion. >>>> >>>> Any idea if this is possible? >>> >>> I prefer this approach, and it is possible. GDB has a command "gcore", >>> https://sourceware.org/gdb/current/onlinedocs/gdb/Core-File-Generation.html#index-generate_002dcore_002dfile >>> you can take a loop how GDB does it. > > Core dump are just ELF files, you might be able to create one yourself: > https://stackoverflow.com/questions/5986366/elf-core-file-format > > >>> >>>> >>>> A variant of this is idea is done for Keil tools: >>>> https://os.mbed.com/blog/entry/Post-mortem-debugging-with-ARM-mbed/ >>>> >>>> I have posted a similar question on stackoverflow but they closed it! So, >>>> please let me know if my question isn't clear. > > Do you have a link to this SO question? > > Chris Hi Chris, Thank for your reply. I know core is an elf file but it'd be helpful if there is a tool that can help or something in gdb that I can use instead of reinventing the wheel. If this is the only resort, I might need to do it. If this can be included somehow in GDB, provided nothing can do that now and there is interest in this, I can try to help. I'd need community support, though, as I haven't done any gdb work before. My deleted SO question link: https://stackoverflow.com/questions/46374391/postmortem-debugging-with-gdb-from-memory-dump-not-core Thanks, -Hesham