在Xcode中附加到暂停后暂停进程?

时间:2016-10-15 19:17:13

标签: xcode lldb

在Xcode 8中使用Debug -> Attach to Process by PID or Name...,我可以在将lldb附加到它之前等待程序启动,类似于命令行中的process attach --name FOO --waitfor

就像启动程序时一样,命令行会在程序启动时挂起程序,将程序放在machodyld的某处。从那里,我可以设置断点,然后继续(或基本上启动)程序并开始我的调试。

然而,Xcode成功附加到程序但立即继续执行。因此,我无法在启动逻辑的早期部分设置断点。

有没有办法在附加之前添加断点,或者阻止Xcode自动恢复进程?

1 个答案:

答案 0 :(得分:1)

没有选项让Xcode在连接后不自动继续。但是,有几种方法可以插入断点。

如果您要附加的流程是使用Xcode项目构建的流程,那么您可以编辑该项目的运行方案,并在Info选项卡集Launch中{ {1}}然后点击Wait for Executable to launch。这告诉Xcode你附加的东西从这个项目得到它的断点,并在继续之前设置它们。然后只需设置文件& Xcode中的线或符号断点,以及你的路上。

如果你不能这样做,那么你可以使用〜/ .lldbinit文件中设置的断点复制到lldb调试的所有新目标这一事实。这是强制某些断点进入Xcode调试会话的另一种方法。所以只需在那里设置你的断点,它们应该在附加时被选中。