Friday, February 7, 2020

A dwarf is sitting under a tree...

I've published a package on PyPI! That's a first for me.

DWARF Explorer (dwex for short) is a cross platform GUI utility in Python for visualizing the debug information in DWARF format. It was initially meant for iOS dSYM bundles and Android unstripped native binaries, but runs under Windows, MacOS, and Linux. For completeness' sake, it takes Windows' PE files, too, with the caveat that the primary format of debug symbols on Windows isn't DWARF, it's PDB.

There are two compilers that I know of that emit Windows executables with DWARF info though - GCC on Cygwin, and Free Pascal. Not that much of a business case, I know. That said, Free Pascal and debugging its binaries is somewhat present on my radar.

The main portion of the debug information is logically a tree, so an Explorer style UI was in order - a tree on the left, a list on the right.

All the heavy lifting is being done by two open source libraries from PyPI - filebytes and pyelftools. My primary contribution was the GUI wrapper around the two of them.

No comments:

Post a Comment