when typing a summary string you can use the %S symbol to explicitly indicate that you want the summary to be used to print the target object
(e.g. ${var%S}). this might already be the default if your variable is of an aggregate type
new feature: synthetic filters. you can restrict the number of children for your variables to only a meaningful subset
- the restricted list of children obeys the typical rules (e.g. summaries prevail over children)
- one-line summaries show only the filtered (synthetic) children, if you type an expanded summary string, or you use Python scripts, all the real children are accessible
- to provide a synthetic children list use the "type synth add" command, as in:
type synth add foo_type --child varA --child varB[0] --child varC->packet->flags[1-4]
(you can use ., ->, single-item array operator [N] and bitfield operator [N-M]; array slice access is not supported, giving simplified names to expression paths is not supported)
- a new -S option to frame variable and target variable lets you override synthetic children and instead show real ones
git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@135731 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/www/varformats.html b/www/varformats.html
index 9260e0d..3b234c9 100755
--- a/www/varformats.html
+++ b/www/varformats.html
@@ -495,20 +495,38 @@
in fact it has a similar effect. If you add a % sign
followed by any one format name or abbreviation from the
above table after an expression path, the resulting
- object will be displyed using the chosen format (this is
- applicable to non-aggregate types only, with a few
- special exceptions discussed below). </p>
- <p>There are two more special format symbols that you can
- use only as part of a summary string: <code>%V</code>
- and <code>%@</code>. The first one tells LLDB to ignore
- summary strings for the type of the object referred by
- the expression path and instead print the object's
- value. The second is only applicable to Objective-C
- classes, and tells LLDB to get the object's description
- from the Objective-C runtime. By default, if no format
- is provided, LLDB will try to get the object's summary,
- and if empty the object's value. If neither can be
- obtained, nothing will be displayed.</p>
+ object will be displyed using the chosen format.</p>
+
+ <p>You can also use some other special format markers, not available
+ for type formatters, but which carry a special meaning when used in this
+ context:</p>
+
+ <table border="1">
+ <tbody>
+ <tr valign="top">
+ <td width="23%"><b>Symbol</b></td>
+ <td><b>Description</b></td>
+ </tr>
+ <tr valign="top">
+ <td><b>%S</b></td>
+ <td>Use this object's summary (the default for aggregate types)</td>
+ </tr>
+ <tr valign="top">
+ <td><b>%V</b></td>
+ <td>Use this object's value (the default for non-aggregate types)</td>
+ </tr>
+ <tr valign="top">
+ <td><b>%@</b></td>
+ <td>Use a language-runtime specific description (for C++ this does nothing,
+ for Objective-C it calls the NSPrintForDebugger API)</td>
+ </tr>
+ <tr valign="top">
+ <td><b>%L</b></td>
+ <td>Use this object's location (memory address, register name, ...)</td>
+ </tr>
+ </tbody>
+ </table>
+
<p>As previously said, pointers and values are treated the
same way when getting to their members in an expression
path. However, if your expression path leads to a