如何使用 lldb 跳过几行代码?
Posted
技术标签:
【中文标题】如何使用 lldb 跳过几行代码?【英文标题】:How to skip a couple of lines code with lldb? 【发布时间】:2015-08-08 23:27:33 【问题描述】:有没有办法在使用 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
让它在主线程上工作。以上是关于如何使用 lldb 跳过几行代码?的主要内容,如果未能解决你的问题,请参考以下文章
将数据导入 Access 时如何跳过 Excel 中的前几行?
在lldb调试中调用c++函数 - 如何使用QuartzCore里面的日志消息