Xcode 的编辑摘要格式功能的文档在哪里?

Posted

技术标签:

【中文标题】Xcode 的编辑摘要格式功能的文档在哪里?【英文标题】:Where is the documentation for Xcode's Edit Summary Format functionality? 【发布时间】:2019-02-25 16:25:18 【问题描述】:

如果我在 Xcode 调试器的左侧面板中添加一个表达式,我可以从它的弹出菜单中选择一个标记为 Edit Summary Format... 的选项。

这会弹出一个显示Set Summary Format for type XXX 的弹出框,其中XXX 是表达式的类型。

我找到的与此功能最接近的文档位于 Xcode 帮助、View variables in the debug area 页面、View variables 部分:

要编辑变量的摘要格式... 在弹出窗口中,输入有效的 LLDB 表达式并单击完成。此表达式覆盖默认格式化程序,并用于为该类型的所有变量创建摘要。

好的,但是弹出框的占位符文本提到了$VAR,这似乎是在摘要格式中输入的有效内容 - 但 lldb 不接受这个!所以我怀疑这一点文档实际上并不准确。

此功能的其余文档在哪里?

【问题讨论】:

【参考方案1】:

这种摘要格式是在 Xcode 使用 gdb 作为其调试器时发明的,并且在 gdb 对数据格式化程序有任何内置支持之前。它只被 Xcode 理解,并且主要出于遗留原因而维护。

Xcode 不再支持 gdb,而是使用 lldb。 lldb 有自己的数据格式化系统:

https://lldb.llvm.org/varformats.html

它的优点是它将适用于 Xcode 的变量视图、您使用 lldb 的 SB API 编写的任何命令以及所有显示值的 lldb 命令行命令(例如 exprframe var)。

您可以在 ~/.lldbinit 文件中按照上面链接中的说明定义格式化程序,它们将应用于 Xcode 调试会话和命令行 lldb 会话(如果您有理由使用命令行 lldb。)为了便于维护,我创建了一个 .lldb 目录,将我的格式化程序放在一个像 formatters.lldb 这样的文件中,然后在我的 .lldbinit 中执行:

command source ~/.lldb/formatters.lldb

这样,当我在处理它们时,我可以独立地在格式化程序中获取源,而不必担心 .lldbinit 还在做什么。

【讨论】:

【参考方案2】:

根据我的经验,Xcode 11 不支持“~/.lldbinit”文件。编辑摘要的格式非常随机。例如,如果您的结构具有“小时”、“分钟”、“秒”Int 字段,则以下编辑摘要无效:

%hour%:%minute%:%second% %hour% %minute% %second%

但是这个是:

%hour%':%minute%':%second%

但你会得到这个结果:“5':35':25”

【讨论】:

我收回关于 Xcode 11 不支持“~/.lldbinit”文件的评论。它确实读取了该文件。但是,它不会读取项目文件夹中的类似文件。

以上是关于Xcode 的编辑摘要格式功能的文档在哪里?的主要内容,如果未能解决你的问题,请参考以下文章

在 Xcode 编辑器中哪里可以找到行号?

Xcode 5 中基于文档的 Mac 应用程序

Adobe XFL Flash 交换格式的文档在哪里?

Xcode 5 文档模板 Apps OS X:App 生命周期在哪里

word2007多级列表

最新版福昕pdf编辑器 如何使用 哪里有下载