Progress on porting Firefox

Short answer is, use GDB15 to debug firefox.

It is why I played with Haiku Native debugger. I was there last year:

There are two problem with Native Debugger:

  1. Latest debugging info(DWARF) support was missing
  2. Too large debugging info of libxul.so(Firefox’s core/body library)
    • Native Debugger doesn’t have scalability for this of magnitude.
    • it took minutes to load debugging info, exausts 16GB ram then I had. And every stepping execution a few minutes, simply not usable.

So I tackled try porting LLDB but it didn’t succeed then by lacking both of my skill and my spare time

In this year’s GSoC, a student @trungnt2910 worked on improving this situation

and he did! He ported latest GDB again and made it very stable enough to debug the firefox.

His blog series on this is great to read.

It can be used to debug C++/Rust mixed project. I’m using Qt Creator for GDB graphical frontend.

EDIT: I wrote GDB as GCC, I was sleeping in bed then.

4 Likes