[lldb-dev] Frame documentation

Jose H jose.francisco.hevia at gmail.com
Fri Dec 5 04:18:23 PST 2014


I use different GUI controls.

On the left there is a treeview which displays the general structure
of the local or global variables and arguments.

On the right there is two OpenGLViews.

On the left tree the single values of the variables or pointers(the
address) are show along with the name and the structure.

Now, when I click a pointer to a class or array in the left side, it
shows me the visual representation of the array or class in the right
side.

So if in the left side there is a pointer called array[20000], I could
load for example 1000 of those and display it in a graph at the right,
moving a handle bar I could access a different 1000 subset of those
20000.

The same will happen to any interesting class, I could load the
methods to read directly from memory, and display it visually or using
sound  or whatever.

>What happens when your variable is in a register like rax? You can't assume all variables have addresses.

But I could suppose all pointers point to a real address, and not a
register, or not?

SBProcess.ReadMemory is probably what I need, thanks Greg, again.

@Jim. Yeah, I suppose that lldb does it using a cache, that is why I
was looking for some way of reading contiguous memory blocks using
lldb if possible, like ReadMemory(that should use the cache), but
avoiding using children functions. Using a cache is efficient in
memory(well, it depends on the size of the buffers), but is not
efficient in code, yeah I know compilers should be fantastic, cook my
food and clean the bathroom, but in practice the do not.



More information about the lldb-dev mailing list