Git Product home page Git Product logo

Comments (4)

AndrewJDR avatar AndrewJDR commented on May 18, 2024

I'm thinking this is out of your hands because that's how gdb does things?

But, I think I can use DASHBOARD_TTY as a workaround... that doesn't seem to exhibit the issue since it doesn't share printing with gdb.

from gdb-dashboard.

AndrewJDR avatar AndrewJDR commented on May 18, 2024

I can confirm that using DASHBOARD_TTY is massively faster. Not only is the blanking practically non-existent, updates are way faster in general.
I assume the slow updates and long blanking time are fundamental limitations of the non-DASHBOARD_TTY approach, so feel free to close this if you also think so. Otherwise, feel free to pursue this more if you think something else is going on...

from gdb-dashboard.

cyrus-and avatar cyrus-and commented on May 18, 2024

Yeah, this is annoying, I know, and your reasoning is sound.

The time needed to build the dashboard is perceived as a blank terminal as the screen needs to be cleared in order to have the dashboard in the same place at the next step.

Unfortunately I cannot buffer the content because (to my knowledge) there's no way to fetch the normal GDB output (e.g., Continuing. Breakpoint 1, fun (n=1, data=0x7fffffffe918) at file.c:42); here's for example what happens after issuing the next command:

  1. on_continue: the screen is cleared and the Output/messages divider is printed;
  2. program I/O takes place;
  3. GDB may print some run-time information;
  4. on_stop: the dashboard is built and displayed.

Note that I cannot build the dashboard at step 1 an the program status has not evolved yet.

Now one could think to completely ignore that run-time information, but since it is not limited to breakpoints notification I'm not sure it's a good idea. Moreover, there's the program I/O which cannot be ignored.

I can confirm that using DASHBOARD_TTY is massively faster.

In that case it should not be blanking at all since as the dashboard can be buffered and the behavior is similar to the one you're suggesting.

Talking about solutions I can only think about to:

  • try to find and remove the bottle necks in the modules lines() method in order to reduce the blank time;
  • dig deeper into how GDB handles the program I/O and the log stream, but in my experience fiddling with the logging system is likely to cause buggy behavior.

I'll leave the issue open as I'd like to improve this aspect. Thanks for reporting.

from gdb-dashboard.

cyrus-and avatar cyrus-and commented on May 18, 2024

I finally managed to look into this, now the blanking effect should be drastically reduced, at least for what concerns the assembly module.

from gdb-dashboard.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.