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

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

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

解决方法

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

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

其他更有趣的选择:

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

po [NSThread sleepForTimeInterval:3600]

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

然后在Xcode中恢复执行.

相关文章

UITabBarController 是 iOS 中用于管理和显示选项卡界面的一...
UITableView的重用机制避免了频繁创建和销毁单元格的开销,使...
Objective-C中,类的实例变量(instance variables)和属性(...
从内存管理的角度来看,block可以作为方法的传入参数是因为b...
WKWebView 是 iOS 开发中用于显示网页内容的组件,它是在 iO...
OC中常用的多线程编程技术: 1. NSThread NSThread是Objecti...