.lldbinit
author Andrew Halberstadt <ahalberstadt@mozilla.com>
Mon, 14 May 2018 21:43:47 -0400
changeset 418777 631008a3bf2973db48cf70502751795ac1065b37
parent 385076 67a8e12324569dd730347187e2ffccae486c758b
child 430717 ff3a0784588f2cb5aaa84e8d6a2a3677a5e52930
permissions -rw-r--r--
Bug 1460912 - [testing/profiles] Add a ./profile rm subcommand for removing prefs from a profile r=rwood Usage is: ./profile rm <profile> [<file>] The file is a list of prefs, one per line, to remove. The file defaults to stdin, so the culmination of the last three commits is the ability to do: ./profile diff reftest common -f names -k same | ./profile rm reftest The above command will remove from the reftest profile, the prefs that are identical in both reftest and common. This method is quicker and less error prone than doing it manually (which was how I was doing this previously). MozReview-Commit-ID: Je0JjFXoora

# .lldbinit file for debugging Mozilla

# -----------------------------------------------------------------------------
# For documentation on all of the commands and type summaries defined here and
# in the accompanying Python scripts, see third_party/python/lldbutils/README.txt.
# -----------------------------------------------------------------------------

# Import the module that defines complex Gecko debugging commands.  This assumes
# you are either running lldb from the top level source directory, the objdir,
# or the dist/bin directory.  (.lldbinit files in the objdir and dist/bin set
# topsrcdir appropriately.)
script topsrcdir = topsrcdir if locals().has_key("topsrcdir") else os.getcwd(); sys.path.append(os.path.join(topsrcdir, "third_party/python/lldbutils")); import lldbutils; lldbutils.init()

# Mozilla's use of UNIFIED_SOURCES to include multiple source files into a
# single compiled file breaks lldb breakpoint setting. This works around that.
# See http://lldb.llvm.org/troubleshooting.html for more info.
settings set target.inline-breakpoint-strategy always

# Show the dynamic type of an object when using "expr".  This, for example,
# will show a variable declared as "nsIFrame *" that points to an nsBlockFrame
# 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}"

# Dump the current JS stack.
command alias js expr DumpJSStack()