.lldbinit
author Mike Hommey <mh+mozilla@glandium.org>
Wed, 03 Feb 2016 17:08:22 +0900
changeset 282969 16ade0e51193116952362c268a31beb704ea9fe6
parent 164382 148382c24e1cd062d8a037f441cf9e9cc6dcfa4b
child 287116 070e28f591b68baa2faf93c69b7f191ead4a6f02
permissions -rw-r--r--
Bug 1245422 - Remove the -FR C*FLAGS on Windows builds. r=mshal The flag is used to create .sbr files, which bscmake subsequently uses to create .bsc files. These files and related tools are, aiui, the ancestors of Intellisense. The -FR C*FLAGS are added to the build if MOZ_BROWSE_INFO or MOZ_BSCFILE are set in the recursive make backend. While the former has an AC_SUBST, the latter does not, so in practice, only the former can be set by supported methods, and would need to be set in a mozconfig. At that rate, people who do want those flags can add them in the C*FLAGS on their own. Developers are probably better served by the VisualStudio backend anyways.

# .lldbinit file for debugging Mozilla

# -----------------------------------------------------------------------------
# For documentation on all of the commands and type summaries defined here
# and in the accompanying Python scripts, see 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 "."; sys.path.append(os.path.join(topsrcdir, "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 nsIAtom --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()