Skip to content

Commit

Permalink
Bug 1481555: Use lldb's python API to summarise nsAtoms. r=froydnj
Browse files Browse the repository at this point in the history
  • Loading branch information
Mossop committed Aug 8, 2018
1 parent 2b0001d commit 65f22e5
Show file tree
Hide file tree
Showing 2 changed files with 7 additions and 3 deletions.
3 changes: 0 additions & 3 deletions .lldbinit
Original file line number Diff line number Diff line change
Expand Up @@ -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}"

Expand Down
7 changes: 7 additions & 0 deletions third_party/python/lldbutils/lldbutils/general.py
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -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")
Expand Down

0 comments on commit 65f22e5

Please sign in to comment.