1 # .lldbinit file for debugging Mozilla
3 # -----------------------------------------------------------------------------
4 # For documentation on all of the commands and type summaries defined here and
5 # in the accompanying Python scripts, see third_party/python/lldbutils/README.txt.
6 # -----------------------------------------------------------------------------
8 # Import the module that defines complex Gecko debugging commands. This assumes
9 # you are either running lldb from the top level source directory, the objdir,
10 # or the dist/bin directory. (.lldbinit files in the objdir and dist/bin set
11 # topsrcdir appropriately.)
12 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()
14 # Mozilla's use of UNIFIED_SOURCES to include multiple source files into a
15 # single compiled file breaks lldb breakpoint setting. This works around that.
16 # See http://lldb.llvm.org/troubleshooting.html for more info.
17 settings set target.inline-breakpoint-strategy always
19 # Show the dynamic type of an object when using "expr". This, for example,
20 # will show a variable declared as "nsIFrame *" that points to an nsBlockFrame
21 # object as being of type "nsBlockFrame *" rather than "nsIFrame *".
22 settings set target.prefer-dynamic-value run-target
24 # Show the value of text nodes.
25 type summary add nsTextNode --summary-string "${var.mText}"
27 # Dump the current JS stack.
28 command alias js expr DumpJSStack()