KENZ
251
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:
- Latest debugging info(DWARF) support was missing
- it lacks DWARF v4/v5 support then
- with DWARF v3, it was incompatible with firefox build output, so I hacked some:
- some people worked/is working to improve this
- 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