天天看点

iOS Chisel命令

//联系人:石虎  QQ: 1224614774 昵称:嗡嘛呢叭咪哄

一、概念

英文版:

Debugger commands:

  apropos           -- List debugger commands related to a word or subject.

  breakpoint        -- Commands for operating on breakpoints(see 'help b' for

                       shorthand.)

  bugreport         -- Commands for creating domain-specific bug reports.

  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.

  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.

  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    -- Evaluate an expression on the current thread.  Displays any

               returned value with LLDB's default formatting.

  po        -- Evaluate an expression on the current thread.  Displays any

               returned value with formatting controlled by the type's author.

  poarray   -- Evaluate an expression on the current thread.  Displays any

               returned value with LLDB's default formatting.

  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.

  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.

  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.

  x         -- Read from the memory of the current target process.

Current user-defined commands:

  alamborder   -- Put a border around views with an ambiguous layout

  alamunborder -- Removes the border around views with an ambiguous layout

  binside      -- Set a breakpoint for a relative address within the

                  framework/library that's currently running. This does the

                  work of finding the offset for the framework/library and

                  sliding your address accordingly.

  bmessage     -- Set a breakpoint for a selector on a class, even if the class

                  itself doesn't override that selector. It walks the hierarchy

                  until it finds a class that does implement the selector and

                  sets a conditional breakpoint there.

  border       -- Draws a border around <viewOrLayer>. Color and width can be

                  optionally provided. Additionally depth can be provided in

                  order to recursively border subviews.

  caflush      -- Force Core Animation to flush. This will 'repaint' the UI but

                  also may mess with ongoing animations.

  dcomponents  -- Set debugging options for components.

  dismiss      -- Dismiss a presented view controller.

  fa11y        -- Find the views whose accessibility labels match labelRegex

                  and puts the address of the first result on the clipboard.

  flicker      -- Quickly show and hide a view to quickly help visualize where

                  it is.

  fv           -- Find the views whose class names match classNameRegex and

                  puts the address of first on the clipboard.

  fvc          -- Find the view controllers whose class names match

                  classNameRegex and puts the address of first on the

                  clipboard.

  hide         -- Hide a view or layer.

  mask         -- Add a transparent rectangle to the window to reveal a

                  possibly obscured or hidden view or layer's bounds

  mwarning     -- simulate a memory warning

  pa11y        -- Print accessibility labels of all views in hierarchy of

                  <aView>

  pa11yi       -- Print accessibility identifiers of all views in hierarchy of

                  <aView>

  pactions     -- Print the actions and targets of a control.

  paltrace     -- Print the Auto Layout trace for the given view. Defaults to

                  the key window.

  panim        -- Prints if the code is currently execution with a UIView

                  animation block.

  pbcopy       -- Print object and copy output to clipboard

  pblock       -- Print the block`s implementation address and signature

  pbundlepath  -- Print application's bundle directory path.

  pca          -- Print layer tree from the perspective of the render server.

  pcells       -- Print the visible cells of the highest table view in the

                  hierarchy.

  pclass       -- Print the inheritance starting from an instance of any class.

  pcomponents  -- Print a recursive description of components found starting

                  from <aView>.

  pcurl        -- Print the NSURLRequest (HTTP) as curl command.

  pdata        -- Print the contents of NSData object as string.

  pdocspath    -- Print application's 'Documents' directory path.

  pinternals   -- Show the internals of an object by dereferencing it as a

                  pointer.

  pinvocation  -- Print the stack frame, receiver, and arguments of the current

                  invocation. It will fail to print all arguments if any

                  arguments are variadic (varargs).

  pivar        -- Print the value of an object's named instance variable.

  pjson        -- Print JSON representation of NSDictionary or NSArray object

  pkp          -- Print out the value of the key path expression using

                  -valueForKeyPath:

  pmethods     -- Print the class and instance methods of a class.

  poobjc       -- Print the expression result, with the expression run in an

                  ObjC++ context. (Shortcut for "expression -O -l ObjC++ -- " )

  pproperties  -- Print the properties of an instance or Class

  present      -- Present a view controller.

  presponder   -- Print the responder chain starting from a specific responder.

  ptv          -- Print the highest table view in the hierarchy.

  pvc          -- Print the recursion description of <aViewController>.

  pviews       -- Print the recursion description of <aView>.

  rcomponents  -- Synchronously reflow and update root components found

                  starting from <aView>.

  setinput     -- Input text into text field or text view that is first

                  responder.

  settext      -- Set text on text on a view by accessibility id.

  show         -- Show a view or layer.

  slowanim     -- Slows down animations. Works on the iOS Simulator and a

                  device.

  taplog       -- Log tapped view to the console.

  unborder     -- Removes border around <viewOrLayer>.

  unmask       -- Remove mask from a view or layer

  unslowanim   -- Turn off slow animations.

  visualize    -- Open a UIImage, CGImageRef, UIView, or CALayer in Preview.app

                  on your Mac.

  vs           -- Interactively search for a view by walking the hierarchy.

  wivar        -- Set a watchpoint for an object's instance variable.

For more information on any command, type 'help <command-name>'.

调试器命令:

列出与一个单词或主题相关的调试器命令。

断点——在断点上运行的命令(参见“帮助b”)

速记。)

bugreport——创建领域特定bug报告的命令。

命令——管理自定义LLDB命令的命令。

拆卸——在电流中拆卸指定的指令

目标。当前函数的默认值

当前线程和堆栈帧。

表达式——计算当前线程上的表达式。显示

任何返回值与LLDB的默认格式。

框架——选择和检查当前线程的命令

堆栈帧。

GDB - remote——通过远程GDB服务器连接到一个进程。如果没有主机

是专门的,本地主机。

gui——切换到基于curses的gui模式。

帮助——显示所有调试器命令的列表,或者给出详细信息

对一个特定的命令。

KDP - remote——通过远程KDP服务器连接到一个进程。如果没有UDP

指定端口,假定端口41139。

语言——特定于源语言的命令。

日志——控制LLDB内部日志记录的命令。

内存——在当前目标中操作内存的命令

的过程。

平台——管理和创建平台的命令。

插件——管理LLDB插件的命令。

进程——与当前进程交互的命令

平台。

退出——退出LLDB调试器。

寄存器——用于访问当前线程的寄存器的命令

堆栈帧。

脚本——用提供的代码调用脚本解释器

显示任何结果。启动交互式解释器

如果没有提供代码。

设置——管理LLDB设置的命令。

源代码——用于检查由debug描述的源代码的命令

当前目标流程的信息。

目标——操作调试器目标的命令。

线程——在一个或多个线程上运行的命令

目前的过程。

类型——在类型系统上操作的命令。

版本——显示LLDB调试器版本。

watchpoint——在观察点上操作的命令。

当前的命令缩写(为更多信息输入“帮助命令别名”):

Add - dsym——向目标的当前模块添加一个调试符号文件

通过指定路径到一个调试符号文件,或使用

指定一个模块来下载符号的选项。

附加——按ID或名称附加到进程。

b——使用几种简写格式之一设置断点。

bt——显示当前线程的调用堆栈。任何数值参数

显示最多的帧数。参数显示“所有”

所有线程。

c——继续执行当前进程中的所有线程。

调用——评估当前线程上的表达式。显示任何

返回值与LLDB的默认格式。

继续——继续执行当前进程中的所有线程。

分离——脱离当前目标进程。

di——在当前目标中拆卸指定的指令。

当前线程的当前函数的默认值

堆栈帧。

dis——将当前目标中的指定指令分解。

当前线程的当前函数的默认值

堆栈帧。

显示——在每一个站点上评估一个表达式(参见“帮助目标”)

stop-hook”。)

向下——选择一个新的堆栈框架。默认移动一个帧,a

数字参数可以指定任意的数字。

env——查看和设置环境变量的简写。

退出——退出LLDB调试器。

f——从当前的索引中选择当前堆栈帧

线程(见“线程回溯”。)

文件——使用参数作为主要可执行文件创建目标。

完成——执行当前堆栈帧并在之后停止

返回。默认当前线程,除非指定。

图像——为一个或多个目标访问信息的命令

模块。

j——将程序计数器设置为一个新地址。

跳转——将程序计数器设置为新地址。

杀死——终止当前的目标进程。

l——使用几种速记法列出相关的源代码

格式。

列表——使用几种速记法列出相关的源代码

格式。

n——源级单步,超越呼叫。默认为

当前线程,除非指定。

下一个——源级单步,超越呼叫。默认为

当前线程,除非指定。

nexti——指令级单步,超越呼叫。默认为

当前线程,除非指定。

ni——指令级单步,超越呼叫。默认为

当前线程,除非指定。

p——评估当前线程上的表达式。显示任何

返回值与LLDB的默认格式。

parray——评估当前线程上的表达式。显示任何

返回值与LLDB的默认格式。

po——评估当前线程上的表达式。显示任何

返回值与格式化控制的类型的作者。

poarray——评估当前线程上的表达式。显示任何

返回值与LLDB的默认格式。

打印——评估当前线程上的表达式。显示任何

返回值与LLDB的默认格式。

q——退出LLDB调试器。

r——在调试器中启动可执行文件。

rbreak——在可执行文件中设置断点或断点。

repl——评估当前线程上的表达式。显示任何

返回值与LLDB的默认格式。

运行——在调试器中启动可执行文件。

源级单步,进入呼叫。默认为

当前线程,除非指定。

si——指令级单步,进入呼叫。默认为

当前线程,除非指定。

sif——跨过电流块,如果你直接走,就停止

输入与TargetFunctionName匹配的函数。

步骤——源代码级单步,进入调用。默认为

当前线程,除非指定。

stepi——指令级单步,进入呼叫。默认为

当前线程,除非指定。

t——更改当前选中的线程。

tbreak——使用几种速记法设置一个一次性断点

格式。

停止显示——停止在每一个停止显示的表达式(由stop- hook指定)

指数)。

向上——选择一个较老的堆栈框架。默认移动一个帧,a

数字参数可以指定任意的数字。

x——读取当前目标进程的内存。

二、中文版

当前用户定义命令:

alamborder——在视图上设置一个模糊的布局

alamunborder——用一个模糊的布局删除视图的边框

binside——为一个相对地址设置一个断点

当前运行的框架/库。这是

查找框架/库的偏移量的工作

相应的滑动你的地址。

bmessage——为类上的选择器设置断点,即使类

它本身并不覆盖那个选择器。它走的层次结构

直到它找到一个实现了选择器的类

在那里设置一个条件断点。

边界——在< viewOrLayer> >附近画一条边。颜色和宽度可以

(可选)。此外,还可以提供深度

命令递归地边界子视图。

caf郁郁葱葱——迫使核心动画刷新。这将“重新绘制”UI,但是

也可能会干扰正在进行的动画。

dcomponents——为组件设置调试选项。

解散——解散一个显示的视图控制器。

fa11y——找到可访问性标签与labelRegex相匹配的视图

并将第一个结果的地址放在剪贴板上。

闪烁——快速显示并隐藏视图,以快速帮助可视化

它是。

fv——查找类名匹配classNameRegex和的视图

将第一个地址放在剪贴板上。

fvc——找到类名匹配的视图控制器

classNameRegex,并将第一个地址放在

剪贴板。

隐藏——隐藏视图或图层。

掩码——在窗口中添加一个透明的矩形,以显示a

可能隐藏的或隐藏的视图或层的边界

mwarning——模拟内存警告

pa11y——打印可访问性标签的所有视图的层次结构

<一览>

pa11yi——在层次结构中打印可访问性标识符

<一览>

pactions——打印控件的操作和目标。

paltrace——打印给定视图的自动布局跟踪。默认为

关键的窗口。

panim——如果代码是当前执行的UIView

动画块。

打印对象和复制输出到剪贴板

pblock——打印块的实现地址和签名

pbundlepath——打印应用程序的bundle目录路径。

pca——从渲染服务器的角度来打印层树。

pcells——打印在最高的表视图中可见的单元格

层次结构。

pclass——从任何类的实例开始打印继承。

pcomponents——打印创建的组件的递归描述

从<一览>。

pcurl——将NSURLRequest(HTTP)打印为curl命令。

pdata——将NSData对象的内容作为字符串打印出来。

pdocspath——打印应用程序的“文档”目录路径。

pinternals——通过取消它作为一个对象来显示一个对象的内部

指针。

p调用——打印当前的堆栈帧、接收器和参数

调用。如果有的话,它将无法打印所有的参数

参数是可变的(可变参数)。

pivar——打印对象的命名实例变量的值。

pjson—NSDictionary或NSArray对象的打印JSON表示

pkp——打印关键路径表达式的值

-valueForKeyPath:

pmethods——打印类的类和实例方法。

poobjc——打印表达式结果,用表达式运行

ObjC + +上下文。(“表达式- o - l ObjC + +”的快捷方式)

pproperties——打印实例或类的属性

present——呈现一个视图控制器。

预发器——从特定的响应器开始打印响应程序链。

ptv——在层次结构中打印最高的表视图。

pvc——打印< aViewController >的递归描述。

pviews——打印< aView >的递归描述。

rcomponents——同步回流和更新根组件

从<一览>。

将输入文本输入文本字段或文本视图

应答器。

settext——可访问id在文本上设置文本。

显示——显示视图或层。

慢化——减慢动画。在iOS模拟器和a上工作

设备。

taplog——登录到控制台。

unborder—删除< viewOrLayer >的边框。

unmask——从视图或层中删除掩码

unslowanim——关掉慢速动画。

可视化——在预览。app中打开UIImage,CGImageRef,UIView或CALayer

在你的Mac。

vs——通过遍历层次结构来交互地搜索视图。

wivar——为对象的实例变量设置一个观察点。

有关任何命令的更多信息,键入“帮助<命令名>”。

(lldb)

谢谢!!!