• LLDB命令速查


    (lldb) help
    Debugger commands:
      apropos           -- List debugger commands related to a word or subject.
      breakpoint        -- Commands for operating on breakpoints (see 'help b' for
                           shorthand.)
      command           -- Commands for managing custom LLDB commands.
      disassemble       -- Disassemble specified instructions in the current
                           target.  Defaults to the current function for the
                           current thread and stack frame.
      expression        -- Evaluate an expression on the current thread.  Displays
                           any returned value with LLDB's default formatting.
      frame             -- Commands for selecting and examing the current thread's
                           stack frames.
      gdb-remote        -- Connect to a process via remote GDB server.  If no host
                           is specifed, localhost is assumed.
      gui               -- Switch into the curses based GUI mode.
      help              -- Show a list of all debugger commands, or give details
                           about a specific command.
      kdp-remote        -- Connect to a process via remote KDP server.  If no UDP
                           port is specified, port 41139 is assumed.
      language          -- Commands specific to a source language.
      log               -- Commands controlling LLDB internal logging.
      memory            -- Commands for operating on memory in the current target
                           process.
      platform          -- Commands to manage and create platforms.
      plugin            -- Commands for managing LLDB plugins.
      process           -- Commands for interacting with processes on the current
                           platform.
      quit              -- Quit the LLDB debugger.
      register          -- Commands to access registers for the current thread and
                           stack frame.
      reproducer        -- Commands for manipulating reproducers. Reproducers make
                           it possible to capture full debug sessions with all its
                           dependencies. The resulting reproducer is used to replay
                           the debug session while debugging the debugger.
                           Because reproducers need the whole the debug session
                           from beginning to end, you need to launch the debugger
                           in capture or replay mode, commonly though the command
                           line driver.
                           Reproducers are unrelated record-replay debugging, as
                           you cannot interact with the debugger during replay.
      script            -- Invoke the script interpreter with provided code and
                           display any results.  Start the interactive interpreter
                           if no code is supplied.
      settings          -- Commands for managing LLDB settings.
      source            -- Commands for examining source code described by debug
                           information for the current target process.
      statistics        -- Print statistics about a debugging session
      target            -- Commands for operating on debugger targets.
      thread            -- Commands for operating on one or more threads in the
                           current process.
      type              -- Commands for operating on the type system.
      version           -- Show the LLDB debugger version.
      watchpoint        -- Commands for operating on watchpoints.
    Current command abbreviations (type 'help command alias' for more info):
      add-dsym  -- Add a debug symbol file to one of the target's current modules
                   by specifying a path to a debug symbols file, or using the
                   options to specify a module to download symbols for.
      attach    -- Attach to process by ID or name.
      b         -- Set a breakpoint using one of several shorthand formats.
      bt        -- Show the current thread's call stack.  Any numeric argument
                   displays at most that many frames.  The argument 'all' displays
                   all threads.
      c         -- Continue execution of all threads in the current process.
      call      -- Evaluate an expression on the current thread.  Displays any
                   returned value with LLDB's default formatting.
      continue  -- Continue execution of all threads in the current process.
      detach    -- Detach from the current target process.
      di        -- Disassemble specified instructions in the current target. 
                   Defaults to the current function for the current thread and
                   stack frame.
      dis       -- Disassemble specified instructions in the current target. 
                   Defaults to the current function for the current thread and
                   stack frame.
      display   -- Evaluate an expression at every stop (see 'help target
                   stop-hook'.)
      down      -- Select a newer stack frame.  Defaults to moving one frame, a
                   numeric argument can specify an arbitrary number.
      env       -- Shorthand for viewing and setting environment variables.
      exit      -- Quit the LLDB debugger.
      f         -- Select the current stack frame by index from within the current
                   thread (see 'thread backtrace'.)
      file      -- Create a target using the argument as the main executable.
      finish    -- Finish executing the current stack frame and stop after
                   returning.  Defaults to current thread unless specified.
      image     -- Commands for accessing information for one or more target
                   modules.
      j         -- Set the program counter to a new address.
      jump      -- Set the program counter to a new address.
      kill      -- Terminate the current target process.
      l         -- List relevant source code using one of several shorthand formats.
      list      -- List relevant source code using one of several shorthand formats.
      n         -- Source level single step, stepping over calls.  Defaults to
                   current thread unless specified.
      next      -- Source level single step, stepping over calls.  Defaults to
                   current thread unless specified.
      nexti     -- Instruction level single step, stepping over calls.  Defaults to
                   current thread unless specified.
      ni        -- Instruction level single step, stepping over calls.  Defaults to
                   current thread unless specified.
      p         -- Evaluate an expression on the current thread.  Displays any
                   returned value with LLDB's default formatting.
      parray    -- parray <COUNT> <EXPRESSION> -- lldb will evaluate EXPRESSION to
                   get a typed-pointer-to-an-array in memory, and will display
                   COUNT elements of that type from the array.
      po        -- Evaluate an expression on the current thread.  Displays any
                   returned value with formatting controlled by the type's author.
      poarray   -- poarray <COUNT> <EXPRESSION> -- lldb will evaluate EXPRESSION to
                   get the address of an array of COUNT objects in memory, and will
                   call po on them.
      print     -- Evaluate an expression on the current thread.  Displays any
                   returned value with LLDB's default formatting.
      q         -- Quit the LLDB debugger.
      r         -- Launch the executable in the debugger.
      rbreak    -- Sets a breakpoint or set of breakpoints in the executable.
      re        -- Commands to access registers for the current thread and stack
                   frame.
      repl      -- Evaluate an expression on the current thread.  Displays any
                   returned value with LLDB's default formatting.
      run       -- Launch the executable in the debugger.
      s         -- Source level single step, stepping into calls.  Defaults to
                   current thread unless specified.
      shell     -- Run a shell command on the host.
      si        -- Instruction level single step, stepping into calls.  Defaults to
                   current thread unless specified.
      sif       -- Step through the current block, stopping if you step directly
                   into a function whose name matches the TargetFunctionName.
      step      -- Source level single step, stepping into calls.  Defaults to
                   current thread unless specified.
      stepi     -- Instruction level single step, stepping into calls.  Defaults to
                   current thread unless specified.
      t         -- Change the currently selected thread.
      tbreak    -- Set a one-shot breakpoint using one of several shorthand formats.
      undisplay -- Stop displaying expression at every stop (specified by stop-hook
                   index.)
      up        -- Select an older stack frame.  Defaults to moving one frame, a
                   numeric argument can specify an arbitrary number.
      v         -- Show variables for the current stack frame. Defaults to all
                   arguments and local variables in scope. Names of argument,
                   local, file static and file global variables can be specified.
                   Children of aggregate variables can be specified such as
                   'var->child.x'.  The -> and [] operators in 'frame variable' do
                   not invoke operator overloads if they exist, but directly access
                   the specified element.  If you want to trigger operator
                   overloads use the expression command to print the variable
                   instead.
                   It is worth noting that except for overloaded operators, when
                   printing local variables 'expr local_var' and 'frame var
                   local_var' produce the same results.  However, 'frame variable'
                   is more efficient, since it uses debug information and memory
                   reads directly, rather than parsing and evaluating an
                   expression, which may even involve JITing and running code in
                   the target program.
      var       -- Show variables for the current stack frame. Defaults to all
                   arguments and local variables in scope. Names of argument,
                   local, file static and file global variables can be specified.
                   Children of aggregate variables can be specified such as
                   'var->child.x'.  The -> and [] operators in 'frame variable' do
                   not invoke operator overloads if they exist, but directly access
                   the specified element.  If you want to trigger operator
                   overloads use the expression command to print the variable
                   instead.
                   It is worth noting that except for overloaded operators, when
                   printing local variables 'expr local_var' and 'frame var
                   local_var' produce the same results.  However, 'frame variable'
                   is more efficient, since it uses debug information and memory
                   reads directly, rather than parsing and evaluating an
                   expression, which may even involve JITing and running code in
                   the target program.
      vo        -- Show variables for the current stack frame. Defaults to all
                   arguments and local variables in scope. Names of argument,
                   local, file static and file global variables can be specified.
                   Children of aggregate variables can be specified such as
                   'var->child.x'.  The -> and [] operators in 'frame variable' do
                   not invoke operator overloads if they exist, but directly access
                   the specified element.  If you want to trigger operator
                   overloads use the expression command to print the variable
                   instead.
                   It is worth noting that except for overloaded operators, when
                   printing local variables 'expr local_var' and 'frame var
                   local_var' produce the same results.  However, 'frame variable'
                   is more efficient, since it uses debug information and memory
                   reads directly, rather than parsing and evaluating an
                   expression, which may even involve JITing and running code in
                   the target program.
      x         -- Read from the memory of the current target process.
    For more information on any command, type 'help <command-name>'.
    

    常用命令-thread

    The following subcommands are supported:
    
          backtrace      -- Show thread call stacks.  Defaults to the current
                            thread, thread indexes can be specified as
                            arguments.
                            Use the thread-index "all" to see all threads.
                            Use the thread-index "unique" to see threads grouped by
                            unique call stacks.
                            Use 'settings set frame-format' to customize the
                            printing of frames in the backtrace and 'settings set
                            thread-format' to customize the thread header.
          continue       -- Continue execution of the current target process.  One
                            or more threads may be specified, by default all
                            threads continue.
          exception      -- Display the current exception object for a thread.
                            Defaults to the current thread.
          info           -- Show an extended summary of one or more threads. 
                            Defaults to the current thread.
          jump           -- Sets the program counter to a new address.
          list           -- Show a summary of each thread in the current target
                            process.  Use 'settings set thread-format' to customize
                            the individual thread listings.
          plan           -- Commands for managing thread plans that control
                            execution.
          return         -- Prematurely return from a stack frame, short-circuiting
                            execution of newer frames and optionally yielding a
                            specified value.  Defaults to the exiting the current
                            stack frame.  Expects 'raw' input (see 'help
                            raw-input'.)
          select         -- Change the currently selected thread.
          step-in        -- Source level single step, stepping into calls. 
                            Defaults to current thread unless specified.
          step-inst      -- Instruction level single step, stepping into calls. 
                            Defaults to current thread unless specified.
          step-inst-over -- Instruction level single step, stepping over calls. 
                            Defaults to current thread unless specified.
          step-out       -- Finish executing the current stack frame and stop after
                            returning.  Defaults to current thread unless specified.
          step-over      -- Source level single step, stepping over calls. 
                            Defaults to current thread unless specified.
          step-scripted  -- Step as instructed by the script class passed in the -C
                            option.  You can also specify a dictionary of key (-k)
                            and value (-v) pairs that will be used to populate an
                            SBStructuredData Dictionary, which will be passed to
                            the constructor of the class implementing the scripted
                            step.  See the Python Reference for more details.
          until          -- Continue until a line number or address is reached by
                            the current or specified thread.  Stops when returning
                            from the current function as a safety measure.  The
                            target line number(s) are given as arguments, and if
                            more than one is provided, stepping will stop when the
                            first one is hit.
    
    For more help on any particular subcommand, type 'help <command> <subcommand>'.
    

    常用命令-breakpoint

    (lldb) breakpoint
         Commands for operating on breakpoints (see 'help b' for shorthand.)
    
    Syntax: breakpoint <subcommand> [<command-options>]
    
    The following subcommands are supported:
    
          clear   -- Delete or disable breakpoints matching the specified source
                     file and line.
          command -- Commands for adding, removing and listing LLDB commands
                     executed when a breakpoint is hit.
          delete  -- Delete the specified breakpoint(s).  If no breakpoints are
                     specified, delete them all.
          disable -- Disable the specified breakpoint(s) without deleting them.  If
                     none are specified, disable all breakpoints.
          enable  -- Enable the specified disabled breakpoint(s). If no breakpoints
                     are specified, enable all of them.
          list    -- List some or all breakpoints at configurable levels of detail.
          modify  -- Modify the options on a breakpoint or set of breakpoints in
                     the executable.  If no breakpoint is specified, acts on the
                     last created breakpoint.  With the exception of -e, -d and -i,
                     passing an empty argument clears the modification.
          name    -- Commands to manage name tags for breakpoints
          read    -- Read and set the breakpoints previously saved to a file with
                     "breakpoint write".  
          set     -- Sets a breakpoint or set of breakpoints in the executable.
          write   -- Write the breakpoints listed to a file that can be read in
                     with "breakpoint read".  If given no arguments, writes all
                     breakpoints.
    
    For more help on any particular subcommand, type 'help <command> <subcommand>'.
    

    po/p/v

  • 相关阅读:
    生成.project、.classpath文件
    Ecelipse上添加Server
    通信安全验证
    通过jstack定位在线运行java系统故障_案例1
    自动代码复制工具
    在Visual Studio Express 2013中开发自定义控件
    通过java类文件识别JDK编译版本
    去掉java反编译(JD-GUI)生成的源文件中注释
    循环处理目录下文件框架
    java查找重复类/jar包/普通文件
  • 原文地址:https://www.cnblogs.com/wwoo/p/lldb-ming-ling-su-cha.html
Copyright © 2020-2023  润新知