How to parse and debug gdb core without characters using registers and source stack

In place of the client, third-party software crashed. The process and libraries are deleted (without characters), the call stack does not provide any useful information. All I have are registers that cannot be damaged. This third party code was written as C.

Now I have used gdb so far to debug simpler problems. But it is a little complicated. I think that the register and source stack information can be used to correlate where the crash occurred, and I need help with this aspect.

It may not be possible to deploy a non-partisan binary system on the customer’s site, and it will not be possible to make internal emergency playback. Also, I am not familiar with this third-party code.

I also need pointers / sites / documents for the following:
1) ELF and various section headings.
2) How to create a symbol file (at compile time) for the library and the process.
3) How to define gdb to read characters from a character file.

+3
source share
1 answer

One thing we need to do is to open you the main file against the non-split / s-character version of your process. As long as the compilation process (compiler, optimization flags, etc.) is the same, and you just save all this debugging information, GDB should be able to provide you with all the information you can expect from the kernel.

gdb [options] executable-file core-file

( , ,...), -g . .

( ), Linux ( , Fedora) gdb.

0

Source: https://habr.com/ru/post/1791471/


All Articles