ios - 我在哪里可以找到有关 LLDB 命令原始输入的文档?
问题描述
一些 LLDB 命令具有接受原始输入的信息,但我不确定该“输入”中可以包含什么。在我看来,文档没有指定它。例如:
process launch --stop-at-entry -- -program_arg value
我真的不知道 -program_arg 是什么,为什么在这里以及原始输入部分中是否可以有其他参数。
启动返回的帮助流程:
Launch the executable in the debugger.
Syntax: process launch <cmd-options> [<run-args>]
Command Options Usage:
...
This command takes options and free-form arguments. If your arguments
resemble option specifiers (i.e., they start with a - or --), you must use
' -- ' between the end of the command options and the beginning of the
arguments.
什么帮助返回:
<run-args> -- Arguments to be passed to the target program when it starts
executing.
这些文档对我没有帮助。有谁知道是否有任何地方可以找到内置 LLDB 命令的原始输入规范?
解决方案
因此,我们必须能够为您的程序指定可能看起来像当前“进程启动”命令的参数的参数。由于 run-args 可以是任何东西,LLDB 命令行解析器需要知道哪些选项用于“进程启动”命令,哪些选项用于您将要启动的进程。例如,如果我们的“a.out”程序实际上有一个“--stop-at-entry”选项,并且您想为您的程序指定它,并且如果您键入:
(lldb) process launch --stop-at-entry
LLDB 会将“--stop-at-entry”解析为“进程启动”命令的选项,而不是将其视为程序的参数。如果您希望“--stop-at-entry”成为您的程序的参数,而不是您的命令的“进程启动”命令,您需要使用“--”终止“进程启动”选项,然后是任何之后将传递给进程,这就是所谓的自由格式参数:
(lldb) process launch -- --stop-at-entry
您甚至可以为您的程序和“进程启动”命令指定 --stop-at-entry :
(lldb) process launch --stop-at-entry -- --stop-at-entry
但是,如果您有不以 - 或 -- 开头的参数,则不需要“--”:
(lldb) process launch --stop-at-entry arg1 arg2 arg3
这将使 --stop-at-entry 成为“进程启动”的一个选项,并且自由形式的参数是“arg1 arg2 arg3”。大多数情况下,您传递给程序的参数与进程启动的参数不同,因此如果您这样做:
(lldb) process launch --program-arg1 --program-arg2 --address 0x1000
由于我们在 --program-arg1 之前没有使用“--”,“进程启动”会认为任何选项都适用于“进程启动”命令,你会得到一个错误:
(lldb) process launch --program-arg1 --program-arg2 --address 0x1000
error: unknown or ambiguous option
所以通过使用“--”来解决这个问题:
(lldb) process launch -- --program-arg1 --program-arg2 --address 0x1000
推荐阅读
- image - PageSpeed Insights、WebP 和
- nginx - 当我配置错误页面时,Nginx proxy_pass 停止工作
- java - 如何在旋转之前预测矩形的去向(处理)
- google-cloud-platform - GCP图片存储策略
- ruby-on-rails - 发布请求中没有路线匹配 [GET]
- html - 如何使这个div中的内容在一行中?
- ios - SwiftUI 模态表在半秒后自行关闭
- facebook - Facebook 广告目标、应用安装量与流量
- javascript - 我应该使用更改处理程序从项目类型数组中填充项目数组吗?
- tensorflow - Keras预测相同输入图像的不同输出