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 *".
|
# object as being of type "nsBlockFrame *" rather than "nsIFrame *".
|
||||||
settings set target.prefer-dynamic-value run-target
|
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.
|
# Show the value of text nodes.
|
||||||
type summary add nsTextNode --summary-string "${var.mText}"
|
type summary add nsTextNode --summary-string "${var.mText}"
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -6,6 +6,12 @@ def summarize_string(valobj, internal_dict):
|
||||||
length = valobj.GetChildMemberWithName("mLength").GetValueAsUnsigned(0)
|
length = valobj.GetChildMemberWithName("mLength").GetValueAsUnsigned(0)
|
||||||
return utils.format_string(data, length)
|
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:
|
class TArraySyntheticChildrenProvider:
|
||||||
def __init__(self, valobj, internal_dict):
|
def __init__(self, valobj, internal_dict):
|
||||||
self.valobj = valobj
|
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 nsFixedCString -F lldbutils.general.summarize_string")
|
||||||
debugger.HandleCommand("type summary add nsAutoString -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 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 \"nsTArray<\" -l lldbutils.general.TArraySyntheticChildrenProvider")
|
||||||
debugger.HandleCommand("type synthetic add -x \"AutoTArray<\" -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")
|
debugger.HandleCommand("type synthetic add -x \"FallibleTArray<\" -l lldbutils.general.TArraySyntheticChildrenProvider")
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue