Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[cdt-dev] MI varobj cache


Hi,

current DSF-GDB has a cache for MI variable objects, MIVariableManager.LRUVariableCache. I see its size is 1000,
and it counts not just root variable objects, but also children. That leads to couple of problems:

- There are more registers than that on my target, and they all can reasonably change between two stops, so
  it will thrash this cache
- The varobjs will be likely created in a special way, so if the cache decides to delete a varobj,
  there won't be a way to recreate it (unless I modify GDB even more).

I can't quite change cache size, since it's private static field in a private class. Should it be more
customizable?

I can't mark a varobj as precious, so as to prevent any garbage collection. Would that be good idea?

Why do we actually need this cache in the first place?

Thanks!

[FWIW, the 'special-way' is some variant of -var-registers, https://www.sourceware.org/ml/gdb-patches/2006-11/msg00403.html]

--
Vladimir Prus
CodeSourcery / Mentor Graphics
http://www.mentor.com/embedded-software/


Back to the top