[GSoC 2024] Improving the Userland Debugging Experience - Progress Report #2 | Haiku Project

The GDB port is feature-complete. A recipe has been submitted to HaikuPorts.

This took a bit longer than expected due to complexities in building the full GDB compared to gdbserver - all of which will be covered in the technical details section below. Subtle bugs revealed by invoking the debugger in different use cases delayed the project even more.


This is a companion discussion topic for the original entry at https://www.haiku-os.org/blog/trungnt2910/2024-07-28_gsoc_2024_debugging_progress_2

The GDB port is feature-complete. A recipe has been submitted to HaikuPorts.

This took a bit longer than expected due to complexities in building the full GDB compared to gdbserver - all of which will be covered in the technical details section below. Subtle bugs revealed by invoking the debugger in different use cases delayed the project even more.


This is a companion discussion topic for the original entry at https://www.haiku-os.org/blog/trungnt2910/2024-06-28_gsoc_2024_debugging_progress_2
21 Likes

This is great! (I may use it to debug QEMU).

There is a typo on the date, it says 2024-06-28.

1 Like

Yeah, should be usable enough for that. Just don’t touch anything multi-threaded yet though…

1 Like

All in all great progress, thanks for working on this. I know from the discussions this has been on the plate for a long time.
I never really used gdb (nor understand how to work/read output), but I’m sure this will be welcomed by a lot of users! :+1:

1 Like

While I like to think that I can follow along while reading (I couldn’t help write any code related to this to save my life, mind you)… I can’t help but marvel at how deep the proverbial rabbit hole goes… and that makes me really thankful of the fact that we have such smart people working on our beloved OS.

Thanks to all those “wicked smart” folks we had over the years… all your work is much appreciated!

8 Likes

Huh, I join to Oscar’s opinion / statement :

… as I also tried to follow the blog post, but finally it concluded for me :

→ I am really not a software developer
→ I am not capable to grock this level of condensed context given in this blog post … I lost at a point and gave up … I admit it is really for guys who would like to use a debugger.

Respect if such complexity can be stored in your mind/memory and be available to recall when analyze a bug, and use such a tool.

Surely, itt will be very useful for Haiku and developers in the future – thanks to worked on this !

Aww… No trying it out with WebKit yet. Good work, though!

Yes. Compared to the .NET codebase, this one is much older, more complex, and the modules are interleaved much more tightly with each other.

For the .NET project, the porting is simpler and therefore visible goals are achieved much quicker. The blogs have much more user-facing content to write about. This year, I spent way more time fixing bugs, and fixing one bug reveals a few more deeper ones.

I am pretty sure there will be even more bugs surface as GDB (hopefully) gets adopted after this project, so it is a good idea to give potential hints to those who want to fix these issues.

8 Likes

Known issues with multithreaded programs should be fixed in my latest patches.

5 Likes

What are remaining multi-threaded problems?

No more known issues with multithreaded programs. I can’t guarantee that a random assert won’t be triggered one day though.

1 Like