我需要调试多线程错误.因此,为了获得生成崩溃的条件,我需要在代码中的特定点停止一个线程,并等待另一个线程到达第二个断点.
我现在遇到的问题是,如果一个线程遇到断点,则所有其他线程都被挂起.有没有办法只停止一个线程,让其他线程运行,直到它们到达第二个断点?
解决方法
我知道两种方式:
如果你遇到第一个断点,你应该在 xcode的左侧看到调试导航器,其中包含当前正在运行的线程列表.应该扩展您当前使用的主题.右键单击该线程并选择“suspend thread”.就是这个.
如果你遇到第一个断点,你应该在 xcode的左侧看到调试导航器,其中包含当前正在运行的线程列表.应该扩展您当前使用的主题.右键单击该线程并选择“suspend thread”.就是这个.
如果您以后想要继续它,您只需点击继续.
(为了查看执行必须暂停的线程,你要么必须在断点处这样做,要么自己暂停应用程序!)
其他更有趣的选择:
当你点击第一个断点时,你可以进入控制台并写入
po [NSThread sleepForTimeInterval:3600]
这应该在该断点处暂停当前上下文中的线程一小时.
然后在Xcode中恢复执行.