LLDB 语法

135 阅读1分钟

基本语法格式: <command> [<subcommand>...] [--<option> [<option-value>]]... [argument]...

  1. command 命令模块

    如: lldb process breakpoint expression

  2. subcommands: 子命令: 子命令之间由空格分隔, 用于表示命令的动作.

    如: breakpoint listlistbreakpoint disabledisable 就分别是不同的子命令, 表示不同的对于breakpoint的操作

  3. auguments: 参数.

    如: breakpoint disable 需要提供一个断点ID, 使对应断点变为不可用状态.

  4. options: 选项.

    一个命令可能包含一个或多个选项. 选项以-- 开头选项之间由空格分隔. 个别选项提供了以-头的快捷方式.

    如: breakpoint set --one-shotbreakpoint set -o 代表相同的含义, 当此断点导致程序暂停时, 删除此断点.

    特别注意:

    *当command 有选项而且有有格式不定的参数时, 需要以-- 分隔最后一个选项以及首个参数. 如: *expression --object-description –- someVariable , 获取 someVariable 的对象描述信息, 以 -- 分隔 --object-description 以及 someVariable 以保证以-开头的参数不会被误认为是一个选项.

  5. 命令缩写与别名.

    相同的命令可能有不同的表现形式.

Canonical form (原始命令)expression --object-description -- someVariable
Abbreviated form (缩写)e -O -- someVariable
Alias (别名)po someVariable

如以上三种就是同一种命令的三种不同形式.

在了解具体语法时, 使用 help 命令可以获取命令集, 命令可接受的子命令/可接受的选项, 命令需要的参数等信息供参考.

参考文档: Understanding LLDB Command Syntax