GDB Frontend with C Pointer Visualization
github.com
github.com
* UI has pleasant colors, I could get used to comfort of having all relevant info in side panes
* The gdb starts in /opt/gdbfrontend directory, would be nice if it changed to dir you executed gdbfrontent in
* I wish I could collapse Disassembly list - I don't want to see it ever
* Icons don't have tooltips and some are not so clear
* "Sources" pane doesn't actually have all the sources, some appear only after I set breakpoint in previously missing file
* Breakpoints set manually through GDB console don't show up in UI breakpoint list
* Usual shortcuts F10, F11... for stepping over and into don't work, while gdb commands n and s work only if lower pane has focus, so interface requires more mouse clicking
* In my specific case it doesn't detect local variables or respond to added watches (fields to right stay blank)
This is where I stopped using it, don't have time to debug the debugger. I appreciate the effort and it looks like it might be extremely handy tool in future.You can check this demo: https://www.youtube.com/watch?v=6LNR8u19x6Y
If something is wrong for you, you can create an issue on Github.
You can set breakpoints via clicking line numbers.
I did not implemented shortcuts yet. :)
I still make use of DDD, one of the debuggers that made my UNIX development experience more enjoyable (vs PC/Mac tooling).
Nowadays I focus on Apple, Microsoft, Oracle and Google platforms and languages, so DDD isn't something I miss.
Because that's what we had in bad old days before the monitors were able to show pixels -- the text consoles could actually show only text and the technology used was too poor to have nice pale background and black letters.
But why would somebody want this on the modern displays, except because he does that instead of properly adjusting the background light or because "the real cool guys look at black screens" is beyond me. Seriously, the displays aren't cheap eighties displays anymore. And even then the expensive ones already looked much better by default than these "modern" themes now.
/end of the old guy's lawn rant
Otherwise, I definitely like every debugging tool that tries to have a good GUI.
Because we're mostly using emissive displays, and it turns out that trying to imitate what works on paper on an emissive display sucks for long term use (though it looks pretty at a glance, and if you are composing things for print WYSIWYG may be more important than what is most comfortable on the screen.) We tried light themes as the almost invariable rule for the first several decades of GUIs, but recently got over it.
(Light backgrounds are awesome on reflective media, and if eInk was cheap and fast enough to use for primary monitors for coding we’d do that.)
I claim it’s not true. If one would measure The light flux of my screen I’m sure it wouldn’t be higher than that of the paper when reading in good light conditions. I claim that it’s dependent of how one configures his display.
I used to battle too against "dark modes". But I was forced to use VSCode for one project (since a couple of months), and I have to say that I became so used to it that now I want to use "dark mode" everywhere I can. Unfortunately IDEs for embedded like KEIL uVision will never get such feature, and now it's a pain to go back to white background.
No. It's photons, and the photons count is the same for a given flux. If your screen emits more photons, it's because you've set the background light too high. That's that user configurable setting I've mentioned in the first post. If you have problems with reflection of some other light source and you solved it by turning it off and sitting in the dark room, you of course have to reduce the background light of your monitor to match the ambient light conditions.
IIRC, the issue is legibility more than eyestrain (though they are related) and light themes are still better with normal vision, but a majority of the adult population has one or more of the vision issues that reverse this (astigmatism being the main one, and alone accounting for nearly 50%.)
I am not sure exactly when the recent trend towards dark editor themes started but I wonder if it was around the same time that WLED LCD backlighting took over? I love white themes on my CFL monitor but not so much on my WLED laptop.
I also think maybe many people started preferring dark colour schemes because colours pop and look more saturated against black, and so it looks better in screenshots etc.
No, I'm talking about what's true of the population as a whole (but not every individual member) as if it was the driver of the trend the poster I was responding to questioned...because it is.
I like dark mode. If it has options to let you have dark-text-on-bright-backgrounds, why does the option for a dark mode bother you?
Tech should cater to different needs. Nobody should have to defend their preferences against anyone, but for those wondering if there are any objective reasons:
I don’t want intense light constantly blasting my eyes, taking up more energy and reducing the display’s effective lifetime, and I want to be able to work comfortably in dark environments, which may be dark for any reason: Not wanting to wake other people up, or bother anyone in theaters/restaurants/cars/planes/etc. or simply reducing energy usage.
> > I don’t like this so nobody else should. > Is always obnoxious.
Is completely fake.
Readers beware.
This means that the power use of this type of LED backlit display is also sensitive to what is being displayed (but at a coarser resolution to OLED).
I was running a full Solaris kernel while anothe rmachine was running GDB and DDD. I was able to visualise all the kernel structures in realtime. It was significantly more usable that I would have imagined it to be.
Can you do something similar these days with Linux?
I guess one reason it wasn't used much is because it was a hassle to set up, and I think it got a bit slow when you had a lot of information displayed. I do recall not using this setup much in practice, as just breaking into the debugger on the machine itself was faster and easier.
You had to lot of options when it came to working on the Solaris kernel, and the code was so easy to understand. In fact, I believe the Solaris code base is the best C code I've ever worked with. It's a pity what happened after Oracle took over.
With kmdb you get to write shell-like pipelines using powerful data structure traversal builtins, and it is safe (you can't crash the system by dereferencing NULL pointers). Really, it's quite fantastic.
In Windows land, windbg has supported this setup for forevers too.
The interface is surprisingly good, and it's what I recommend to new gdb users if they aren't using an IDE. I still prefer the Emacs integration[1], but I don't recommend that to people who aren't already experienced Emacs users.
[1] https://sourceware.org/gdb/current/onlinedocs/gdb/Emacs.html...
It’s just a single file (replaces your ~/.gdbinit) that wraps your GDB session with a nice TUI using the Python API. I’ve found it to be a nice middle ground.
https://www.packtpub.com/eu/web-development/mastering-qt-5-s...
There aren't that many books on Qt, besides Packt ones, AFAIK.
Genuinely curious, because if I'm understanding this correctly, it's just another front-end like what VSCode/Atom(probably)/CLion/Visual Studio have been doing for years if not decades.
I guess what I'm asking is: does this do a better job than the others?
https://handmadedev.show/ep-13-2016/
Starts at 01:06:14
> Note: This project is no longer under active development.
Another good project that people love to hate is eclipse, if you want a GDB powered GUI, its always worth a shot.