Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
LLDB(1)				     LLDB			       LLDB(1)

NAME
       lldb - LLDB Documentation

SYNOPSIS
       lldb [options] executable

DESCRIPTION
       lldb  is	a next generation, high-performance debugger. It is built as a
       set of reusable components which	highly leverage	existing libraries  in
       the  larger  LLVM Project, such as the Clang expression parser and LLVM
       disassembler.

       lldb is the default debugger in Xcode on	macOS and  supports  debugging
       C, Objective-C and C++ on the desktop and iOS devices and simulator.

       All  of	the code in the	LLDB project is	available under	the Apache 2.0
       License with LLVM exceptions.

ATTACHING
       --attach-name <name>
	      Tells the	debugger to attach to a	process	with the given name.

       --attach-pid <pid>
	      Tells the	debugger to attach to a	process	with the given pid.

       -n <value>
	      Alias for	--attach-name

       -p <value>
	      Alias for	--attach-pid

       --wait-for
	      Tells the	debugger to wait for a process with the	given  pid  or
	      name to launch before attaching.

       -w     Alias for	--wait-for

COMMANDS
       --batch
	      Tells the	debugger to run	the commands from -s, -S, -o & -O, and
	      then quit.

       -b     Alias for	--batch

       -K <value>
	      Alias for	--source-on-crash

       -k <value>
	      Alias for	--one-line-on-crash

       --local-lldbinit
	      Allow the	debugger to parse the .lldbinit	files in  the  current
	      working directory, unless	--no-lldbinit is passed.

       --no-lldbinit
	      Do not automatically parse any '.lldbinit' files.

       --one-line-before-file <command>
	      Tells  the debugger to execute this one-line lldb	command	before
	      any file provided	on the command line has	been loaded.

       --one-line-on-crash <command>
	      When in batch mode, tells	the debugger to	run this one-line lldb
	      command if the target crashes.

       --one-line <command>
	      Tells  the  debugger to execute this one-line lldb command after
	      any file provided	on the command line has	been loaded.

       -O <value>
	      Alias for	--one-line-before-file

       -o <value>
	      Alias for	--one-line

       -Q     Alias for	--source-quietly

       --source-before-file <file>
	      Tells the	debugger to read in and	execute	the lldb  commands  in
	      the given	file, before any file has been loaded.

       --source-on-crash <file>
	      When  in	batch  mode, tells the debugger	to source this file of
	      lldb commands if the target crashes.

       --source-quietly
	      Tells the	debugger to execute this one-line lldb command	before
	      any file has been	loaded.

       --source	<file>
	      Tells  the  debugger to read in and execute the lldb commands in
	      the given	file, after any	file has been loaded.

       -S <value>
	      Alias for	--source-before-file

       -s <value>
	      Alias for	--source

       -x     Alias for	--no-lldbinit

OPTIONS
       --arch <architecture>
	      Tells the	debugger to use	the specified architecture when	start-
	      ing and running the program.

       -a <value>
	      Alias for	--arch

       --capture-path <filename>
	      Tells the	debugger to use	the given filename for the reproducer.

       --capture
	      Tells the	debugger to capture a reproducer.

       --core <filename>
	      Tells  the  debugger  to	use the	full path to <filename>	as the
	      core file.

       -c <value>
	      Alias for	--core

       --debug
	      Tells the	debugger to print out extra information	for  debugging
	      itself.

       -d     Alias for	--debug

       --editor
	      Tells the	debugger to open source	files using the	host's "exter-
	      nal editor" mechanism.

       -e     Alias for	--editor

       --file <filename>
	      Tells the	debugger to use	the file <filename> as the program  to
	      be debugged.

       -f <value>
	      Alias for	--file

       --help Prints out the usage information for the LLDB debugger.

       -h     Alias for	--help

       --no-use-colors
	      Do not use colors.

       --replay	<filename>
	      Tells the	debugger to replay a reproducer	from <filename>.

       --version
	      Prints out the current version number of the LLDB	debugger.

       -v     Alias for	--version

       -X     Alias for	--no-use-color

REPL
       -r=<flags>
	      Alias for	--repl=<flags>

       --repl-language <language>
	      Chooses the language for the REPL.

       --repl=<flags>
	      Runs lldb	in REPL	mode with a stub process with the given	flags.

       -R <value>
	      Alias for	--repl-language

SCRIPTING
       -l <value>
	      Alias for	--script-language

       --python-path
	      Prints  out  the	path  to  the lldb.py file for this version of
	      lldb.

       -P     Alias for	--python-path

       --script-language <language>
	      Tells the	debugger to use	the specified scripting	 language  for
	      user-defined scripts.

EXAMPLES
       The debugger can	be started in several modes.

       Passing	an  executable as a positional argument	prepares lldb to debug
       the given executable. To	disambiguate between arguments passed to  lldb
       and  arguments  passed  to  the debugged	executable, arguments starting
       with a -	must be	passed after --.
	  lldb --arch x86_64 /path/to/program program argument -- --arch arvm7

       For convenience,	passing	the executable after --	is also	supported.
	  lldb --arch x86_64 --	/path/to/program program argument --arch arvm7

       Passing one of the attach options causes	lldb to	immediately attach  to
       the given process.
	  lldb -p <pid>	lldb -n	<process-name>

       Passing --repl starts lldb in REPL mode.
	  lldb -r

       Passing --core causes lldb to debug the core file.
	  lldb -c /path/to/core

       Command	options	can be combined	with these modes and cause lldb	to run
       the specified commands before or	after events, like loading the file or
       crashing, in the	order provided on the command line.
	  lldb	-O  'settings  set stop-disassembly-count 20' -o 'run' -o 'bt'
	  lldb	-S   /source/before/file   -s	/source/after/file   lldb   -K
	  /source/before/crash -k /source/after/crash

       Note:  In REPL mode no file is loaded, so commands specified to run af-
       ter loading the file (via -o or -s) will	be ignored.

USING LLDB
       In lldb there is	a help command which can be used to find  descriptions
       and examples of all lldb	commands.  To get help on "breakpoint set" you
       would type "help	breakpoint set".

       There is	also an	apropos	command	which will search the help text	of all
       commands	 for  a	given term aa this is useful for locating a command by
       topic.  For instance, "apropos breakpoint" will list any	 command  that
       has the word "breakpoint" in its	help text.

CONFIGURATION FILES
       lldb  reads  things  like settings, aliases and commands	from the .lld-
       binit file.

       First, lldb will	try to read the	application specific init  file	 whose
       name  is	~/.lldbinit followed by	a "-" and the name of the current pro-
       gram. This would	be ~/.lldbinit-lldb for	 the  command  line  lldb  and
       ~/.lldbinit-Xcode  for  Xcode. If there is no application specific init
       file, lldb will look for	an  init  file	in  the	 home  directory.   If
       launched	 with  a REPL option, it will first look for a REPL configura-
       tion file, specific to the REPL language. The init file should be named
       as  follow:  .lldbinit-<language>-repl  (i.e. .lldbinit-swift-repl). If
       this file doesn't exist,	or lldb	wasn't launch with REPL, meaning there
       is neither a REPL init file nor an application specific init file, lldb
       will fallback to	the global ~/.lldbinit.

       Secondly, it will look for an .lldbinit file in the current working di-
       rectory.	  For  security	 reasons,  lldb	 will  print a warning and not
       source this file	by default. This behavior can be changed  by  changing
       the target.load-cwd-lldbinit setting.

       To always load the .lldbinit file in the	current	working	directory, add
       the following command to	~/.lldbinit:
	  settings set target.load-cwd-lldbinit	true

       To never	load the .lldbinit file	in the current working	directory  and
       silence the warning, add	the following command to ~/.lldbinit:
	  settings set target.load-cwd-lldbinit	false

SEE ALSO
       The  LLDB  project  page	 https://lldb.llvm.org	has many different re-
       sources for  lldb  users	 aa  the  gdb/lldb  command  equivalence  page
       https://lldb.llvm.org/use/map.html  can be especially helpful for users
       coming from gdb.

AUTHOR
       LLVM project

COPYRIGHT
       2007-2021, The LLDB Team

12				  2021-06-07			       LLDB(1)

NAME | SYNOPSIS | DESCRIPTION | ATTACHING | COMMANDS | OPTIONS | REPL | SCRIPTING | EXAMPLES | USING LLDB | CONFIGURATION FILES | SEE ALSO | AUTHOR | COPYRIGHT

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=lldb&sektion=1&manpath=FreeBSD+13.1-RELEASE+and+Ports>

home | help