diff options
author | Enrico Granata <granata.enrico@gmail.com> | 2011-07-22 00:16:08 +0000 |
---|---|---|
committer | Enrico Granata <granata.enrico@gmail.com> | 2011-07-22 00:16:08 +0000 |
commit | d55546b27a90ecc088316a706446c2a293ad94b0 (patch) | |
tree | ecf0e9d8c2f243dae418cc779c708a62958b56b3 /lldb/www | |
parent | 1872173841e85dd061b99b85ad2f1fb24cb23609 (diff) | |
download | bcm5719-llvm-d55546b27a90ecc088316a706446c2a293ad94b0.tar.gz bcm5719-llvm-d55546b27a90ecc088316a706446c2a293ad94b0.zip |
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
llvm-svn: 135731
Diffstat (limited to 'lldb/www')
-rwxr-xr-x | lldb/www/varformats.html | 46 |
1 files changed, 32 insertions, 14 deletions
diff --git a/lldb/www/varformats.html b/lldb/www/varformats.html index 9260e0d6525..3b234c9c4a9 100755 --- a/lldb/www/varformats.html +++ b/lldb/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 |