【问题标题】:How to skip a couple of lines code with lldb?如何使用 lldb 跳过几行代码?
【发布时间】:2015-08-08 23:27:33
【问题描述】:

有没有办法在使用 lldb 进行调试时跳过代码行而无需重新编译?

【问题讨论】:

    标签: xcode lldb


    【解决方案1】:

    更新

    除了下面的原始答案之外,jump/j 别名可用于跳过多行或跳到特定行号:

    向前跳过两行:

    (lldb) jump +2
    

    跳到第 102 行:

    (lldb) jump 102
    

    请参阅help jump 了解更多信息。

    原创

    这可以使用thread jump 命令通过提供--by/-b 标志来实现。示例:

    (lldb) thread jump --by 2
    (lldb) th j -b 2
    

    或者,可以使用--line/-l 指定绝对行号,而不是相对移动。

    (lldb) thread jump --line 102
    (lldb) th j -l 102
    

    请注意,它们都会移动程序计数器,这可能会使程序进入损坏状态并导致崩溃。

    【讨论】:

    • 我已经能够在一个小项目中使用它,但是在一个大项目中thread jump --by 2 会抛出异常。我也在 WWDC 2018 调试视频中看到了这种技术。您是否知道针对具有大量线程的大型项目的任何解决方法?
    • 上面的附录:我可以通过包装 DispatchQueue.main.async { do stuff } 让它在主线程上工作。
    猜你喜欢
    • 2016-01-15
    • 2022-09-27
    • 2015-05-17
    • 1970-01-01
    • 2017-08-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-02-03
    相关资源
    最近更新 更多