lldb 相当于 gdb 的“follow-fork-mode”或“detach-on-fork”

rya*_*hee 8 cocoa objective-c lldb

lldb 是否具有与这些 gdb 指令中的任何一个等效的指令?我试图让它遵循子进程而不是父进程,而无需执行此手动过程:

  1. 在叉子上折断
  2. 子进程的 pgrep
  3. 启动另一个 lldb 进程并附加到子进程
  4. 继续父母

一些谷歌搜索没有提供任何见解。

上下文:我正在使用 NSTask 并使用 dyld 注入一个 dylib,并希望在我的库中设置断点而不会很痛苦。我很确定 NSTask 在内部使用 fork() 。

Ale*_*ara 14

follow-fork-mode合并到 LLDB 的主分支中,并从版本 14.0.0 开始可用。

settings set target.process.follow-fork-mode child
Run Code Online (Sandbox Code Playgroud)

如果您的 LLDB 版本基于 LLVM 14.0.0+,则它应该可用。或者,您可以从源代码构建它或使用它brew install llvm(对于 macOS,您还必须共同设计 lldb)。

自从更新到 14.0.0(从外观上看是 Xcode 14)以来,它现在也可以在 Apple 的 CLI 工具中使用。