diff options
author | Enrico Granata <granata.enrico@gmail.com> | 2011-08-12 02:00:06 +0000 |
---|---|---|
committer | Enrico Granata <granata.enrico@gmail.com> | 2011-08-12 02:00:06 +0000 |
commit | 22c55d180ddc9772ee03d5034677d27a2735c92e (patch) | |
tree | ca48d4214abacb43fba0202dbfb673cf04d99f92 /lldb/source/Core/Debugger.cpp | |
parent | e45db981e45f21ef6ec4101d12e626aa627b4374 (diff) | |
download | bcm5719-llvm-22c55d180ddc9772ee03d5034677d27a2735c92e.tar.gz bcm5719-llvm-22c55d180ddc9772ee03d5034677d27a2735c92e.zip |
*Some more optimizations in usage of ConstString
*New setting target.max-children-count gives an upper-bound to the number of child objects that will be displayed at each depth-level
This might be a breaking change in some scenarios. To override the new limit you can use the --show-all-children (-A) option
to frame variable or increase the limit in your lldbinit file
*Command "type synthetic" has been split in two:
- "type synthetic" now only handles Python synthetic children providers
- the new command "type filter" handles filters
Because filters and synthetic providers are both ways to replace the children of a ValueObject, only one can be effective at any given time.
llvm-svn: 137416
Diffstat (limited to 'lldb/source/Core/Debugger.cpp')
-rw-r--r-- | lldb/source/Core/Debugger.cpp | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/lldb/source/Core/Debugger.cpp b/lldb/source/Core/Debugger.cpp index 08cbb1c4755..0c62a4f8047 100644 --- a/lldb/source/Core/Debugger.cpp +++ b/lldb/source/Core/Debugger.cpp @@ -1200,6 +1200,8 @@ Debugger::FormatPrompt if (index_higher < 0) index_higher = vobj->GetNumChildren() - 1; + uint32_t max_num_children = target->GetUpdatePoint().GetTargetSP()->GetMaximumNumberOfChildrenToDisplay(); + for (;index_lower<=index_higher;index_lower++) { ValueObject* item = ExpandIndexedExpression(target, @@ -1223,6 +1225,12 @@ Debugger::FormatPrompt else var_success &= FormatPrompt(special_directions, sc, exe_ctx, addr, s, NULL, item); + if (--max_num_children == 0) + { + s.PutCString(", ..."); + break; + } + if (index_lower < index_higher) s.PutChar(','); } |