forked from mirrors/gecko-dev
Bug 1481555: Use lldb's python API to summarise nsAtoms. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D2894 --HG-- extra : moz-landing-system : lando
This commit is contained in:
parent
856eae15ac
commit
70702c1d4a
2 changed files with 7 additions and 3 deletions
|
|
@ -21,9 +21,6 @@ settings set target.inline-breakpoint-strategy always
|
|||
# object as being of type "nsBlockFrame *" rather than "nsIFrame *".
|
||||
settings set target.prefer-dynamic-value run-target
|
||||
|
||||
# Show the string value in atoms.
|
||||
type summary add nsAtom --summary-string "${var.mString}"
|
||||
|
||||
# Show the value of text nodes.
|
||||
type summary add nsTextNode --summary-string "${var.mText}"
|
||||
|
||||
|
|
|
|||
|
|
@ -6,6 +6,12 @@ def summarize_string(valobj, internal_dict):
|
|||
length = valobj.GetChildMemberWithName("mLength").GetValueAsUnsigned(0)
|
||||
return utils.format_string(data, length)
|
||||
|
||||
def summarize_atom(valobj, internal_dict):
|
||||
target = lldb.debugger.GetSelectedTarget()
|
||||
length = valobj.GetChildMemberWithName("mLength").GetValueAsUnsigned()
|
||||
string = target.EvaluateExpression("(char16_t*)%s.GetUTF16String()" % valobj.GetName())
|
||||
return utils.format_string(string, length)
|
||||
|
||||
class TArraySyntheticChildrenProvider:
|
||||
def __init__(self, valobj, internal_dict):
|
||||
self.valobj = valobj
|
||||
|
|
@ -98,6 +104,7 @@ def init(debugger):
|
|||
debugger.HandleCommand("type summary add nsFixedCString -F lldbutils.general.summarize_string")
|
||||
debugger.HandleCommand("type summary add nsAutoString -F lldbutils.general.summarize_string")
|
||||
debugger.HandleCommand("type summary add nsAutoCString -F lldbutils.general.summarize_string")
|
||||
debugger.HandleCommand("type summary add nsAtom -F lldbutils.general.summarize_atom")
|
||||
debugger.HandleCommand("type synthetic add -x \"nsTArray<\" -l lldbutils.general.TArraySyntheticChildrenProvider")
|
||||
debugger.HandleCommand("type synthetic add -x \"AutoTArray<\" -l lldbutils.general.TArraySyntheticChildrenProvider")
|
||||
debugger.HandleCommand("type synthetic add -x \"FallibleTArray<\" -l lldbutils.general.TArraySyntheticChildrenProvider")
|
||||
|
|
|
|||
Loading…
Reference in a new issue