diff options
author | Tom Tromey <tromey@adacore.com> | 2024-11-15 09:29:27 -0700 |
---|---|---|
committer | Tom Tromey <tromey@adacore.com> | 2024-12-09 14:26:23 -0700 |
commit | 4c2d19e3cd80e23acb555e25b7725592173cbd0d (patch) | |
tree | 979f6955c741a120731fd47f5954c60804883318 /gprofng/src | |
parent | c286bfe1e5c252689126cb2f45677bd36a2fdd56 (diff) | |
download | binutils-4c2d19e3cd80e23acb555e25b7725592173cbd0d.zip binutils-4c2d19e3cd80e23acb555e25b7725592173cbd0d.tar.gz binutils-4c2d19e3cd80e23acb555e25b7725592173cbd0d.tar.bz2 |
Introduce NoOpStringPrinter
We discovered that attempting to print a very large string-like array
would succeed on the CLI, but in DAP would cause the "variables"
request to fail with:
value requires 67038491 bytes, which is more than max-value-size
This turns out to be a limitation in Value.format_string, which
de-lazy-ifies the value.
This patch fixes this problem by introducing a new NoOpStringPrinter
class, and then using it for string-like values. This printer returns
a lazy string, which solves the problem.
Note there are some special cases where we do not want to return a
lazy string. I've documented these in the code. I considered making
gdb.Value.lazy_string handle these cases -- for example it could
return 'self' rather than a lazy string in some situations -- but this
approach was simpler.
Diffstat (limited to 'gprofng/src')
0 files changed, 0 insertions, 0 deletions