Swift 命令的 LLDB 别名

LLDB alias for Swift command

在我的应用程序中调试来自 FMDB 的 SQLite 查询时,我有时会使用命令 return 结果集当前行中的所有值:

(lldb) po (0..<result.columnCount()).map{result.object(forColumnIndex: [=11=])!}

我在我的应用程序中一直使用名称 "result",所以这个命令永远不会改变,显然每次我想使用它时都要输入它有点乏味所以我想创建一个别名,但是当我尝试这样做时(无论是通过 .lldbinit 文件还是直接在 Xcode 控制台中),我得到一个错误:

(lldb) command alias poresult po (0..<result.columnCount()).map{result.object(forColumnIndex: [=12=])!}
error: Unable to create requested alias.

环顾四周,我找不到任何在别名中使用 Swift 代码的实例,但我确实找到了几个使用 Objective-C 的示例,所以我认为这是可能的。

我做错了什么?

在 Swift 项目中,poexpression -O -l swift -- 的别名。尝试将其替换为您自己的别名中的定义。

command alias poresult expression -O -l swift -- (0..<result.columnCount()).map{result.object(forColumnIndex: [=10=])!}

更一般:

command alias ALIAS_NAME expression -O -l swift -- YOUR_CODE_HERE