Lines Matching refs:summary
88 It's worth mentioning that the ``size=5`` string is produced by a summary
101 type summary
338 before adding a summary...
349 after adding a summary...
356 There are two ways to use type summaries: the first one is to bind a summary
358 string to be used as summary. Both options are enabled by the type summary add
365 (lldb) type summary add --summary-string "int = ${var.x}, float = ${var.y}, char = ${var.z%u}" i_am…
367 Initially, we will focus on summary strings, and then describe the Python
374 snippet above. A summary string contains a sequence of tokens that are
375 processed by LLDB to generate the summary.
392 plus additional symbols specific for summary strings. The main of them is
393 ${var, which is used refer to the variable that a summary is being created for.
397 the field float y is simply .y. Thus, to ask the summary string to display y
415 would be .x.y and you would type ``${var.x.y}`` to display it in a summary
418 By default, a summary defined for type T, also works for types T* and T& (you
434 waiving this distinction enables you to write a summary string once for type T
435 and use it for both T and T* instances. As a summary string is mostly about
452 Of course, a summary string can contain more than one ${var specifier, and can
460 summary strings, regardless of the format they have applied to their types. To
472 | ``%S`` | Use this object's summary (the default for aggregate types) |
493 signature is the same as a Python summary function. The return string from the
503 is not valid and will cause the summary to fail to evaluate.
509 Option --inline-children (-c) to type summary add tells LLDB not to look for a summary string, but …
525 (lldb) type summary add --inline-children pair
539 (lldb) type summary add pair --summary-string "(first=${var.first}, second=${var.second})"
555 (lldb) type summary add pair --summary-string "(${var.first}, ${var.second})"
569 To cope with the issue, LLDB supports native bitfield formatting in summary
584 …(lldb) type summary add --summary-string "Sign: ${var[31]%B} Exponent: ${var[30-23]%x} Mantissa: $…
594 LLDB also allows to use a similar syntax to display array members inside a summary string. For inst…
618 (lldb) type summary add --summary-string "${var[].x}" "Simple [3]"
623 The [] symbol amounts to: if var is an array and I know its size, apply this summary string to ever…
639 (lldb) type summary add --summary-string "${var[1-2].x}" "Simple [3]"
659 (lldb) type summary add --summary-string "${var%s}" "char *"
664 LLDB has default summary strings for char* and char[] that use this special
669 (lldb) type summary add --summary-string "${var%s}" "char *"
670 (lldb) type summary add --summary-string "${var%s}" -x "char \[[0-9]+]"
678 (lldb) type summary add --summary-string "${var%int32_t[]}" "int [10]"
689 Most of the times, summary strings prove good enough for the job of summarizing
691 picking some values and rearranging them for display, summary strings stop
692 being an effective tool. This is because summary strings lack the power to
695 To solve this issue, you can bind some Python scripting code as a summary for
697 variables as the summary strings do and to perform active computation on the
725 (lldb) type summary add -P Rectangle
741 In order to write effective summary scripts, you need to know the LLDB public
765 summary strings, you can use the method ``GetValueForExpressionPath()``,
766 passing it an expression path just like those you could use for summary strings
774 ``options`` Python summary formatters can optionally define this
781 you to input a Python script as a summary:
783 - using the --python-script option to type summary add and typing the script
788 …(lldb) type summary add --python-script "height = valobj.GetChildMemberWithName('height').GetValue…
791 - using the --python-function (-F) option to type summary add and giving the
801 As you noticed, in order to associate the custom summary string to the array
812 (lldb) type summary add --summary-string "${var[].x}" -x "Simple \[[0-9]+\]"
837 For a given type, there may be different meaningful summary representations.
838 However, currently, only one summary can be associated to a type at each
840 without changing the summary string for to its type, you can use named
843 Named summaries work by attaching a name to a summary when creating it. Then,
844 when there is a need to attach the summary to a variable, the frame variable
845 command, supports a --summary option that tells LLDB to use the named summary
850 (lldb) type summary add --summary-string "x=${var.integer}" --name NamedSummary
853 (lldb) frame variable one --summary NamedSummary
856 When defining a named summary, binding it to one or more types becomes
857 optional. Even if you bind the named summary to a type, and later change the
858 summary string for that type, the named summary will not be changed by that.
859 You can delete named summaries by using the type summary delete command, as if
860 the summary name was the datatype that the summary is applied to
862 A summary attached to a variable using the --summary option, has the same
893 Here, you can see how the type is implemented, and you can write a summary for
1025 Synthetic children extend summary strings by enabling a new special variable:
1033 (lldb) type summary add --expand -x "std::vector<" --summary-string "${svar%#} items"
1043 invoking the summary string provider, which allows the latter to have access to
1044 the actual displayable children. This applies to both inlined summary strings
1045 and python-based summary providers.
1057 summary string providers, as they run after the synthetic child provider.
1122 summary function and a synthetic child provider that work for all
1137 And pass this function to ``type summary add`` and ``type synthetic add`` using
1142 …(lldb) type summary add --expand --python-function my_summary_function --recognizer-function is_ge…
1179 As a side note, the summary for NSString shown in the example is built right
1243 (lldb) type summary add Foobar --summary-string "a foobar" --category newcategory