LLDB命令
2021-07-15 本文已影响0人
_佛祖保佑_
命令命令命令命令命令 | 作用 | 原文 |
---|---|---|
apropos | 列出与单词或主题相关的调试器命令。 | List debugger commands related to a word or subject. |
breakpoint | 操作断点的命令(请参阅“help b”以方便速记)。 | Commands for operating on breakpoints (see 'help b' for shorthand.) |
command | 自定义LLDB命令管理命令。 | 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 | 计算当前线程上的表达式。使用LLDB的默认格式显示任何返回值。 | 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 | 通过远程GDB服务器连接到一个进程。如果没有指定主机,则假定为localhost。 | Connect to a process via remote GDB server. If no host is specifed, localhost is assumed. |
gui | 切换到基于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 | 通过远程KDP服务器连接到一个进程。如果没有指定UDP端口,则假定端口为41139。 | 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 | 控制LLDB内部日志记录的命令。 | Commands controlling LLDB internal logging. |
memory | 用于操作当前目标进程中的内存的命令。 | Commands for operating on memory in the current target process. |
platform | 管理和创建平台的命令。 | Commands to manage and create platforms. |
plugin | LLDB插件管理命令。 | Commands for managing LLDB plugins. |
process | 用于与当前平台上的进程交互的命令。 | Commands for interacting with processes on the current platform. |
quit | 退出LLDB调试器。 | 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 | LLDB设置管理命令。 | 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 | 显示LLDB调试器版本。 | 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 | 通过ID或名称附加到进程。 | Attach to process by ID or name. |
b | 使用几种简写格式中的一种设置断点。 | Set a breakpoint using one of several shorthand formats. |
bt | 显示当前线程的调用堆栈。任何数字参数最多显示那么多帧。参数'all'显示所有线程。 | 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 | 计算当前线程上的表达式。使用LLDB的默认格式显示任何返回值。 | 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 | 在每个stop处计算一个表达式(参见“help target stop-hook”)。 | 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 | 退出LLDB调试器。 | Quit the LLDB debugger. |
f | 从当前线程中按索引选择当前堆栈帧(参见thread backtrace)。 | 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 | 计算当前线程上的表达式。使用LLDB的默认格式显示任何返回值。 | Evaluate an expression on the current thread. Displays any returned value with LLDB's default formatting. |
parray | lldb将计算EXPRESSION以在内存中获得一个类型指向数组的指针,并显示数组中该类型的COUNT元素。 | 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 | lldb将对EXPRESSION求值以获得内存中COUNT对象数组的地址,并对它们调用po。 | 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. |
计算当前线程上的表达式。使用LLDB的默认格式显示任何返回值。 | Evaluate an expression on the current thread. Displays any returned value with LLDB's default formatting. | |
q | 退出LLDB调试器。 | 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 | 计算当前线程上的表达式。使用LLDB的默认格式显示任何返回值。 | 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 | 在主机上执行shell命令。 | Run a shell command on the host. |
si | 指令级单步,进入呼叫。默认为当前线程,除非指定。 | Instruction level single step, stepping into calls. Defaults to current thread unless specified. |
sif | 步骤遍历当前块,如果直接进入名称与TargetFunctionName匹配的函数,则停止。 | 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(由Stop -hook index指定)处停止显示表达式。 | 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 |
显示当前堆栈帧的变量。默认为作用域内的所有参数和局部变量。可以指定参数、局部变量、文件静态变量和文件全局变量的名称。 可以指定聚合变量的子变量,如'var->child.x'。'frame variable'中的->和[]操作符如果存在,则不会调用操作符重载,而是直接访问指定的元素。 如果要触发操作符重载,请使用expression命令来打印变量。 值得注意的是,除了重载操作符外,打印局部变量'expr local_var'和'frame var local_var'会产生相同的结果。 然而,“帧变量”更有效率,因为它使用调试信息和内存直接读取,而不是解析和计算一个表达式,这甚至可能涉及JITing和在目标程序中运行代码。 |
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 |
显示当前堆栈帧的变量。默认为作用域内的所有参数和局部变量。可以指定参数、局部变量、文件静态变量和文件全局变量的名称。 可以指定聚合变量的子变量,如'var->child.x'。'frame variable'中的->和[]操作符如果存在,则不会调用操作符重载,而是直接访问指定的元素。 如果要触发操作符重载,请使用expression命令来打印变量。 值得注意的是,除了重载操作符外,打印局部变量'expr local_var'和'frame var local_var'会产生相同的结果。 然而,“帧变量”更有效率,因为它使用调试信息和内存直接读取,而不是解析和计算一个表达式,这甚至可能涉及JITing和在目标程序中运行代码。 |
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 | 显示当前堆栈帧的变量。默认为作用域内的所有参数和局部变量。可以指定参数、局部变量、文件静态变量和文件全局变量的名称。 可以指定聚合变量的子变量,如'var->child.x'。'frame variable'中的->和[]操作符如果存在,则不会调用操作符重载,而是直接访问指定的元素。 如果要触发操作符重载,请使用expression命令来打印变量。 值得注意的是,除了重载操作符外,打印局部变量'expr local_var'和'frame var local_var'会产生相同的结果。 然而,“帧变量”更有效率,因为它使用调试信息和内存直接读取,而不是解析和计算一个表达式,这甚至可能涉及JITing和在目标程序中运行代码。 |
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. |