4 ms·
I learned a lot of debugging using GDB from Greg Laws CPPCon talk https://www.youtube.com/watch?v=-n9Fkq1e6sg https://www.youtube.com/watch?v=-n9Fkq1e6sg. With
by Decabytes 5y ago
I learned a lot of debugging using GDB from Greg Laws CPPCon talk https://www.youtube.com/watch?v=-n9Fkq1e6sg https://www.youtube.com/watch?v=-n9Fkq1e6sg. With that being said, one of the things I've heard is that debugging on Linux is a poorer experience than it is on Windows. I believe that RAD Game Tools tried to create a debugger for Linux that was better, but the project failed for some reason. I hope with the increased interest in Linux, GDB or another debugger can be improved enough to address the issues people have historically had with it
- edgyquant 5y agoInteresting, the last time GDB hit the front page the consensus seemed to be it was far ahead of all the competition. Having never seriously used a debugger it seems like it’s an opinion to me.
- Decabytes 5y agoI found the link http://www.radgametools.com/debug.htm http://www.radgametools.com/debug.htm. Though it looks like the project has been abandoned https://github.com/ValveSoftware/vogl https://github.com/ValveSoftware/vogl Taken from their FAQ on that page about "Why make a new source-level debugger?" > To put it bluntly, debugging on Linux is just really bad. We believe it is the biggest roadblock to great software for that platform. Don't get us wrong - debugging on Windows isn't great either. But the standard Visual Studio debugger is still much better than anything on Linux. > So we want to make Linux debugging as good as Windows debugging. And then we want to make both better - much better. There are so many better debugging tools that we can imagine having, and yet even today's best debuggers provide barely any functionality that wasn't in debuggers twenty years ago. > Also, we think there's a lot of value in having one great debugger that you can use on every platform. RAD develops software for roughly 18 platforms now. A big part of the friction of a new platform is dealing with different toolsets. > Compilers, linkers and runtimes are all hard to deal with, certainly, but you typically finish setting those up in a few days or weeks. The debuggers, on the other hand, are tools you have to use every day for as long as you develop on that platform! I guess it's just really hard to do this stuff
- edgyquant 5y agoThanks for the link! I’ve been diving into C++ for my personal project so I’m getting interested in debugging (my old C days were low level programming and mostly print statements.)
- usefulcat 5y agoI've used gdb exclusively for over 10 years now (been working on Linux, worked on Windows prior to that). gdb may well be more powerful overall, but for common use cases (setting breakpoints, stepping in/out, examining values) I still miss the Visual Studio debugger. It's the only thing from Windows I miss.
- edgyquant 5y agoInteresting. Got any tips (or articles) for someone who is beginner level with debuggers (I wrote some C almost a decade ago that got my feet wet, but I’ve forgotten most of it by now.)
- usefulcat 5y agoThe single biggest thing I’d recommend is using the -tui option. I wish I’d noticed that one sooner.
- fuy 5y agoI'm far from expert in linux debugging, but I liked my experience with VS code gdb support - you can set breakpoints, stepping in/out works fine, you of course get nice code navigation and so on. My experience was mostly with Postgres code base, which is pure c, FWIW.
- pjmlp 5y agoMostly because the ones that praise GDB know very little about the competition.