The following list contains a few ways to find the root cause for a stability issue.
-
Rebuild with debug symbols
If you couldn’t find the root cause in the coredump, cause the binary wasn’t build in the debug version, you can rebuild it with debug symbols. -
Live debugging with GDB
Instead of analysing the coredump afterwards you can also run/attach the GDB for a live debugging session. -
Execute with Valgrind
To get more details about memory leaks you can run the executable with Valgrind, as long as this isn’t leading to timeouts, cause Valgrind is not very performant. -
Build with AddressSanitizer
Can be used like Valgrind to find memory corruptions, but needs to be linked for building and has a way better performance. -
Usage of git-bisect
If you can’t find the root cause in the source code you can use a Git feature called git-bisect to find the commit, which has led to that issue.