XCode断点应该只挂起当前线程

时间:2014-04-01 08:54:32

标签: ios objective-c xcode multithreading debugging

我需要调试多线程错误。因此,为了获得生成崩溃的条件,我需要在代码中的特定点停止一个线程,并等待另一个线程到达第二个断点。

我现在遇到的问题是,如果一个线程遇到断点,则所有其他线程都会被挂起。有没有办法只停止一个线程,让其他线程运行直到它们到达第二个断点?

1 个答案:

答案 0 :(得分:6)

我知道两种方式: 如果你遇到第一个断点,你应该在xcode的左侧看到调试导航器,其中包含当前正在运行的线程列表。应该扩展您当前使用的主题。右键单击此主题并选择“暂停主题'”。就是这样。

如果您以后想继续,只需点击简历即可。 (为了查看执行必须暂停的线程,你要么必须在断点处这样做,要么自己暂停应用程序!)

其他更有趣的选择:

当您点击第一个断点时,您可以进入控制台并编写

po [NSThread sleepForTimeInterval:3600]

应该在该断点处暂停当前上下文中的线程一小时。

然后在Xcode中恢复执行。