[Lldb-commits] [PATCH] D30272: Improve data formatter for libstdcpp unique_ptr

Jim Ingham via Phabricator via lldb-commits lldb-commits at lists.llvm.org
Fri Feb 24 11:25:39 PST 2017

jingham added a comment.

I also thought about having the synthetic child provider mark up the special child value objects when it made them.  It bugs me a little but that you couldn't, for instance, have a synthetic child provider that doesn't display a child that is the result of the dereference in its view, but provides one when you do the dereference.  And it looks like we're creating a system where we have somebody - the SCP - that knows what the dereference means to it, but then we lose the connection to that knowledge when we hand it out.

Explain a bit more why you need to create a copy?  Anything that makes two versions of the same value that we have to keep in sync makes me nervous.  For instance, one of the things we want to do in the future is make write-back possible for synthetic children.  That would allow you to change values of std::vector elements in the Locals view of a GUI debugger (which would naturally be based on SBValues) just like you can with the non-synthetic SBValues.  Also, how would the SCP know to update this copy when you've stepped in the debugger and the dereference now points to another pointee?


More information about the lldb-commits mailing list