================
@@ -40,7 +40,8 @@ VSCode::VSCode()
            {"swift_catch", "Swift Catch", lldb::eLanguageTypeSwift},
            {"swift_throw", "Swift Throw", lldb::eLanguageTypeSwift}}),
       focus_tid(LLDB_INVALID_THREAD_ID), sent_terminated_event(false),
-      stop_at_entry(false), is_attach(false),
+      stop_at_entry(false), is_attach(false), 
show_descriptive_summaries(false),
+      show_raw_child_for_synthetics(false),
----------------
clayborg wrote:

No, we want these off by default. I don't want to see a "[raw]" entry at the 
end of all synthetic variables each time I debug. Also the descriptive 
summaries are way too expensive to enable as they will cause all types to 
always be completed. Say you have 100 variables in your variable view, if you 
don't turn them down in the variable view, we never need to complete the types 
for these entries, but with this change enabled, all variable types (and if 
each type is a class, all subclasses, and all ivars from the current and 
subclasses will be completed) will always be completed even if they aren't 
turned down. This was the reason we originally made the 
"SBValue::MightHaveChildren()" (it doesn't complete a type, it just says "if 
you are a struct, then you might have children" and then we can display the 
disclosure triange in the UI without completing the type) as objective C 
debugging variables were always class pointers that didn't need to be 
completed. We saw a huge performance gain when we didn't complete a type and 
displaying variables in Xcode many years ago, so we know this is an issue.

https://github.com/llvm/llvm-project/pull/65687
_______________________________________________
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

Reply via email to