【问题标题】:LLDB tab completion for symbol names符号名称的 LLDB 制表符补全
【发布时间】:2013-08-16 13:30:17
【问题描述】:

我在命令行中使用lldb 来调试一个简单的C 程序。

在我工作的机器上,我可以使用制表符补全来输入符号名称。例如,如果我输入“b ma”,然后输入 Tab,它会制表符补全到“b main”。其他功能也是如此。

但是,我无法在笔记本电脑上使用此功能,因为在光标后插入了一个实际的选项卡(ASCII 值 9)。两台机器都运行 10.8.4 并拥有最新的 Xcode。

有什么想法吗?

【问题讨论】:

    标签: lldb


    【解决方案1】:

    我认为您在两个系统之一上运行 gdb。

    lldb 可以完成制表符完成——它可以完成比 gdb 更复杂的制表​​符完成——但你必须使用 lldb 命令的规范形式才能使其工作。您正在使用的 b 命令是一个别名(正则表达式别名 - 尝试解析断点命令并执行正确操作的正则表达式列表),它没有为 lldb 选项卡完成引擎提供有关上下文的足够信息做任何事。

    相反,如果你要这样做

    (lldb) br s -n ma<TAB>
    

    它会自动完成。当然,这是breakpoint set --name 的缩写形式。

    当您意识到 lldb 可以使用 tab 完成许多不同的参数时,lldb 的聪明才智开始发挥作用——breakpoint set --filefileTab 将完成“file”作为文件名。 breakpoint set --selector 将自动完成选择器名称。 breakpoint set --shlib(将断点限制为仅在特定的 dylib/framework/binary 中设置)将使用 dylibs/frameworks/binaries 列表自动完成。

    在未来的某个时候,我们希望使用 b 之类的别名命令来完成制表符,但还没有人有时间解决这个问题。

    【讨论】:

    • 我有a similar question关于自动完成,你能看看吗?看来你对lldb一无所知。谢谢。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多