【问题标题】:LLDB alias for Swift commandSwift 命令的 LLDB 别名
【发布时间】:2017-10-17 05:43:55
【问题描述】:

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

(lldb) po (0..<result.columnCount()).map{result.object(forColumnIndex: $0)!}

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

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

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

我做错了什么?

【问题讨论】:

  • 尝试用expression -l swift --替换您别名中的po
  • @Alexander 这让我可以创建别名,但输出没有用。
  • 哎呀,我的意思是expression -O -l swift --
  • 完美,正是它所需要的。您可以将其发布为答案吗?

标签: swift lldb


【解决方案1】:

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

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

更笼统的:

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

【讨论】:

    猜你喜欢
    • 2013-01-16
    • 2012-09-13
    • 2021-02-14
    • 2016-05-27
    • 1970-01-01
    • 2016-11-18
    • 2018-06-07
    • 1970-01-01
    • 2016-06-06
    相关资源
    最近更新 更多