AppImage

Using Breakpad with AppImage

I found that generated Breakpad’s symbols file for an executable is not valid in case it is generated before bundling an application. As I understood, the executable is changed somehow during bundling.

So, I tried to solve this by unpacking .AppImage and generating symbols for the unpacked executable. And some of crash dumps became correct and pointed to a correct function. But some of them are still invalid.

When I test the same crashes for complied and not bundled executable, all crash dumps are valid and point in correct places.

Is there a way to produce correct symbols file for bundled executable?

Are you talking about https://github.com/google/breakpad? I have no experience with it but I am interested in it.

How do you generate the AppImage in question? E.g., linuxdeployqt runs strip on the binaries, and rewrites the ELF to inject custom rpahs.

Yes. Breakpad allows to catch crashes and save crash report.

I’m trying to figure out, if debugging info is still valid in executable after linuxdeployqt has run on it.
If not, I thinks it’s not possible for AppImage binaries to have such crashes catching. And it would be sad.

It has nothing to do with the AppImage format but with what you put inside the AppImage. Remember than an AppImage is just a self-mounting disk image.

Well, AppImage is based on a technique of bundling all dependencies for executable and redirecting these dependencies inside the executable file itself. So, I would say it is related pretty much, as we can’t separate AppImage bundling idea and modification of binaries.