Newer
Older

Jonathan Watt
committed
# .lldbinit file for debugging Mozilla

Cameron McCormack
committed
# -----------------------------------------------------------------------------

Andrew Halberstadt
committed
# 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.

Cameron McCormack
committed
# -----------------------------------------------------------------------------

Cameron McCormack
committed
# 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.)

Jonathan Watt
committed
script topsrcdir = topsrcdir if "topsrcdir" in locals() else os.getcwd()
script sys.path.append(os.path.join(topsrcdir, "python/lldbutils"))

Jonathan Watt
committed
script import lldbutils
script lldbutils.init()

Cameron McCormack
committed

Jonathan Watt
committed
# 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 *".

Cameron McCormack
committed
settings set target.prefer-dynamic-value run-target

Cameron McCormack
committed

Cameron McCormack
committed
# Show the value of text nodes.
type summary add nsTextNode --summary-string "${var.mText}"
# Dump the current JS stack.
command alias js expr DumpJSStack()