Where can I find a debugger with a GUI for Linux?
from ZILtoid1991@lemmy.world to programming@programming.dev on 12 Mar 08:38
https://lemmy.world/post/26713467

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.

#programming

threaded - newest

Lemmist@lemm.ee on 12 Mar 08:48 next collapse

Any modern IDE for any language has a built-in debugger UI. Mostly good one.

bizdelnick@lemmy.ml on 12 Mar 13:09 collapse

Not built-in. It uses gdb or lldb or another standalone debugger.

Lemmist@lemm.ee on 12 Mar 13:38 collapse

UI. UI is built-in.

mormund@feddit.org on 12 Mar 08:58 next collapse

As I assume you’re not looking for FOSS-only solutions, you probably want to go with Jetbrains IDEs (IntelliJ). They are arguably the best IDEs around and have native Linux versions.

I assume you are mostly working with C/C++. I don’t have first experience with CLion but haven’t heard anything negative about it.

tal@lemmy.today on 12 Mar 09:02 next collapse

I use gdb myself.

I don’t know exactly what you’re after. From the above, I see:

“easy to use”

" the mouse is faster, not slower"

You don’t specify a language, so I’m assuming you’re looking for something low-level.

You don’t specify an editor, so I’m assuming that you want something stand-alone, not integrated with an editor.

There are a number of packages that use gdb internally, but put some kind of visualization on it. I’ve used emacs’s before, though I’m not particularly married to it — mainly found it interesting as a way to rapidly move up and down frames in a stack — but I’m assuming that if you want something quick to learn, you’re not looking for emacs either.

Maybe seer? That’d be a stand-alone frontend on gdb with a GUI. Haven’t used it myself.

EDIT: WRT gdb, the major alternative that I can think of to gdb is dbx, and that’s also a CLI tool and looks dead these days. gdb is pretty dominant, so if you want something mouse-oriented, you’re probably going to have some form of frontend on gdb.

There are other important debugging tools out there, stuff like valgrind, but in terms of a tool to halt and step through a program, view variables, etc, you’re most-likely looking at gdb, one way or another, unless you’re working in some sort of high-level language that has its own debugger. If you want a GUI interface, it’s probably going to be some sort of frontend to gdb.

EDIT2: Huh. Apparently llvm has its own debugger, lldb. Haven’t used it, and it’s probably not what you want anyway, since it’s also a CLI-based debugger. I am also sure that it has far fewer users than gdb. But just for completeness…guess you already looked at that, mentioned it in your comment.

Dunstabzugshaubitze@feddit.org on 12 Mar 09:02 next collapse

github.com/j6t/kdbg might be to your liking, but it is still a gdb frontend.

depending on the language you use there might be an IDE with a good debugger for it, if so i’d have a look at that.

zygo_histo_morpheus@programming.dev on 12 Mar 09:57 next collapse

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.

specter@board.minimally.online on 12 Mar 10:18 next collapse

Emacs is a crazy good GUI debugger I’ve heard but I’ve been invested in Neovim for years

bizdelnick@lemmy.ml on 12 Mar 13:06 next collapse

Try ddd. Also IDEs usually can be integrated with gdb and other popular debuggers.

[deleted] on 12 Mar 13:07 next collapse

.

paperplane@lemmy.world on 12 Mar 16:28 next collapse

VSCode + CodeLLDB is great (and FOSS), surprised no one mentioned this yet

FizzyOrange@programming.dev on 12 Mar 16:59 collapse

Definitely the best option.

SchwertImStein@lemmy.dbzer0.com on 13 Mar 23:22 next collapse

what language?

epasveer@programming.dev on 24 Mar 15:37 collapse

You can try my gui frontend to GDB. It’s called Seergdb.

github.com/epasveer/seer