Comments (4)
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.
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.
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:
- on_continue: the screen is cleared and the
Output/messages
divider is printed; - program I/O takes place;
- GDB may print some run-time information;
- 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.
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)
- Ability to control module output with configurable format string HOT 1
- Cannot write the dashboard HOT 1
- Issue with catch throw HOT 3
- Don't know how to use gdb-dashboard HOT 3
- Color scheme for the bottom section HOT 1
- Disable gdb startup text HOT 5
- how to disable output / messages? or remove from source code? HOT 1
- doesn't work, when source the .gdb-dashboard HOT 1
- Clion GDB HOT 1
- armv8 registers cannot be displayed HOT 2
- Last command still fails on gdb 8.2-19.el8 on rocky 8 HOT 3
- Dashboard flickering due to unexpected disappear/re-appear of original one-line src code at the top
- How do you save the dashboard layout? HOT 3
- Not able to install HOT 22
- On gdb shell, print <var_nam> must wait for user to press enter for more and q for quit and c for continue to print till end. But not happening HOT 3
- [Enhancement] trace from born till death HOT 1
- Invalid escape sequence errors with new Python HOT 1
- Windows GDB is broken
- dashboard does not show up HOT 3
- Hardware Breakpoints (QEMU GDB) HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from gdb-dashboard.