如何用lldb跳过几行代码?

Bol*_*ose 16 xcode lldb

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

Dav*_*Lee 34

UPDATE

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

要跳过两行:

(lldb) jump +2
Run Code Online (Sandbox Code Playgroud)

要跳到第102行:

(lldb) jump 102
Run Code Online (Sandbox Code Playgroud)

有关详情help jump,请参阅.

原版的

这可以thread jump通过给出--by/ -bflag 使用命令来实现.例:

(lldb) thread jump --by 2
(lldb) th j -b 2
Run Code Online (Sandbox Code Playgroud)

或者,代替相对移动,绝对行号可以特定于--line/ -l.

(lldb) thread jump --line 102
(lldb) th j -l 102
Run Code Online (Sandbox Code Playgroud)

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

  • 我已经能够在一个小项目中使用它,但是在一个大项目中`thread jump --by 2` 会引发异常。我也在 WWDC 2018 调试视频中看到了这种技术。您是否知道具有大量线程的大型项目的任何解决方法? (3认同)