Live data from Hacker News

GDB Frontend with C Pointer Visualization

github.com

51–58 of 58 posts

Re: GDB Frontend with C Pointer Visualization

#51
post #49

For those who aren't aware, gdb has a curses-based 'Text User Interface' (TUI), which can be launched using 'gdb -tui': https://sourceware.org/gdb/current/onlinedocs/gdb/TUI.html#T... 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] ht…

Is it better than cgdb? https://cgdb.github.io

I haven't tried cgdb. Based on the screenshots they look pretty similar.

Re: GDB Frontend with C Pointer Visualization

#52
post #21
post #14

Earlier quoted context omitted.

> 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 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.

Emitting light != reflecting light. 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 .

> Emitting light != reflecting light.

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.

Re: GDB Frontend with C Pointer Visualization

#53
post #5

Would be amazing if this could also integrate with a language server to provide code browsing functionality. These days I'm using Vim's gdb integration, which doesn't have any data visualisation features, but lets me use all of my code browsing plugins.

cgdb probably gets you part way there. you can view code source in the upper half while stepping your code in the lower half.

Re: GDB Frontend with C Pointer Visualization

#54
post #5

Would be amazing if this could also integrate with a language server to provide code browsing functionality. These days I'm using Vim's gdb integration, which doesn't have any data visualisation features, but lets me use all of my code browsing plugins.

visual studio code is pretty good these days when you get the right extensions. I've setup my projects to be debugged with gdb with vscode as the GUI. My build system also generate a compile_commands.json to feed to clangd https://marketplace.visualstudio.com/items?itemName=llvm-vs-...

Another good project that people love to hate is eclipse, if you want a GDB powered GUI, its always worth a shot.

Re: GDB Frontend with C Pointer Visualization

#55

Earlier quoted context omitted.

I don't think this is true: many transmissive LCD technologies adjust their backlight brightness, including differently across regions, depending on the displayed image?

OLEDs incorporate the backlight with the pixel, so they can turn on or off the light for each pixel, giving you much nicer blacks. A typical LED backlight is just a single uniform light, so it can only be adjusted for the entire screen, and unless your screen is black, you need some light. I guess if everything was a at most a darker grey, they could crank it down, but I don’t think anyone does that?

I'm not sure about typical, but I believe most high-end LED backlit displays use at least one of global or local dimming of the backlight depending on what's on the screen.

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).

Re: GDB Frontend with C Pointer Visualization

#56
post #52
post #21

Earlier quoted context omitted.

Emitting light != reflecting light. 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 .

> Emitting light != reflecting light. 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 t…

Light is light, I know. But reading from e-ink is not as comfortable as reading from an LCD whatever the brightness setting is. There are many reasons, like refresh frequency, angle, etc. I'm sorry I don't have time now, but you can look it up.

Re: GDB Frontend with C Pointer Visualization

#58

I'm taking it for a spin and sharing my notes as I go: * 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 actual…

Thank you for your feedback. You can look this: https://github.com/rohanrhu/gdb-frontend#gdb-related-issues-... I will implement adding additional folders to sources.

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. :)

Post reply on HN