28

I'm currently developing on Windows mainly, but due to the end of life of Windows 10, I might switch my primary OS to Linux instead. However, despite Linux being called "developer friendly" I always preferred the tools available under Windows save for the command line shell of Linux.

My main gripes with Linux development is with the debuggers. On Windows, I have RemedyBG, a pretty good debugger with an easy to use GUI. On Linux, all I have is either GDB or LLDB, and a command line so far.

I looked into some of the "more mainstream" GUI options for Linux, all of them were just a separate tab for the same command line debugger in a text editor.

Please note that I'm the sole developer of my projects on the side of a full time job, so I don't have 1 month to spare to learn the in and outs of GDB, which in the days of useless AI slop articles littering the internet, might be even 1.5-2 months. I have a modern PC, any performance gains from not having a well-optimized GUI is negligible. No, I don't care about scripts. And no, unless I'm actually writing the code, the mouse is faster, not slower.

you are viewing a single comment's thread
view the rest of the comments
[-] zygo_histo_morpheus@programming.dev 3 points 3 days ago* (last edited 2 days ago)

It's fine to want a gui debugger and I want to clarify that I'm not actually trying to persuade you to use gdb! My actual advice would be vscode (or other ide) with it's gdb/lldb integration which allows you to debug from your ide in a gui-oriented way.

I do however think that you're wrong about how hard it is to learn gdb. I learned to use it not that long ago and it doesn't take "1 month". Using gdb on a basic level is actually not particularly hard, and I can recommend this talk for anyone actually curious about learning gdb. It's just 15 minutes, but the same speaker has done a couple of other talks on the same theme that are longer if you want to learn even more, you can probably find them in the recommended videos sidebar.

What I actually think is the case is that learning gdb takes a bit more mental effort because it's a different paradigm than gui debuggers, and a lot of things aren't intuitive. If you're prepared to be a bit uncomfortable and lost for an afternoon, and maybe even flip through the official document for a bit you can be "good enough" at gdb in less than a day.

Gdb is also more powerful than most gui-only editors, because you can do scripting in gdb. For example you can execute an arbitrary series of gdb commands when you hit a certain breakpoint which can be really useful in some circumstances. My preferred way of debugging in linux is actually to both have a gdb window that I can enter commands in so I can do more scripting stuff if I want to, and also some extra bells and whistles for viewing source code and setting breakpoints etc. I edit in vim so I use the termdebug plugin that comes bundled with vim, but use whatever exists for your editor if you don't use vim yourself.

this post was submitted on 12 Mar 2025
28 points (88.9% liked)

Programming

18923 readers
375 users here now

Welcome to the main community in programming.dev! Feel free to post anything relating to programming here!

Cross posting is strongly encouraged in the instance. If you feel your post or another person's post makes sense in another community cross post into it.

Hope you enjoy the instance!

Rules

Rules

  • Follow the programming.dev instance rules
  • Keep content related to programming in some way
  • If you're posting long videos try to add in some form of tldr for those who don't want to watch videos

Wormhole

Follow the wormhole through a path of communities !webdev@programming.dev



founded 2 years ago
MODERATORS