[lldb-dev] Frame documentation

Jose H jose.francisco.hevia at gmail.com
Wed Dec 3 12:14:22 PST 2014


>That is fine. You don't auto expand anything in your view (or you can, but you should stop at pointers or references). If you don't auto expand anything, then your users will do so by clicking to expand the tree view item and >they can expand as much as they want to.

Oh, as first user I want to expand things a lot. :-D
But I am not auto expanding all the nodes for the user. I am creating
a hierarchical structure that is finished when the user clicks on it.
This way every time the debugger stops I can do:

1-Create Data Model(translated from lldb)
2-Display Data Model(Not auto expanded, but the user can navigate the
already created model WITHOUT access to lldb code, only with access to
an lldb free Data Model).

If I analyze the already stored nodes and do not repeat it I will be fine too.

> Most GUIs will just show the top level variables and not even expand structs, unions and classes unless the use clicks on a disclosure triangle. Try loading the lldb/examples/python/lldbtk.py file:
>

Sure. That is what most GUIs do, and the reason I am doing my own,
because I want to do things that those GUIs don't let me to do. :-)
The treeview is just the middle step in a working(proof of concept)
prototype. In the future I plan on using something more similar to
this:

http://www.nicholaschristakis.net/images/research/images/network-images/1.jpg

A node graph with an aerial view of the variables of my program, that
could display graphically how they evolve over time.

> (lldb) file a.out
> (lldb) b main
> (lldb) run
> (lldb) command script import /users/me/lldb/examples/python/lldbtk.py
> (lldb) tk-variables
> Not the pointers haven't been expanded. You can probably loot the python code in lldbtk.py and make it work with your GUI framework.

I will give it a look. thanks.

> Yep, GUIs don't expand anything unless the user clicks to expand it. Below I clicked on the triangle before "path" to expand it:
> Hopefully my comments shed some light on things above?

All the feedback in the list  has been of great help, but there is
limitations to any online communication. Some times the best
communication is through working code, even offline I have seen people
understand what I mean only after testing the program itself.




More information about the lldb-dev mailing list