gpt4 book ai didi

ios - syscall_thread_switch iOS 8.3 竞赛 - CocoaLumberjack 错误?如何调试这个?

转载 作者:塔克拉玛干 更新时间:2023-11-02 07:58:50 27 4
gpt4 key购买 nike

我在我的应用程序中遇到了竞争条件,每当我暂停调试时,所有或除 1 个线程外的所有线程都会卡在 syscall_thread_switch 上。它在模拟器上更频繁地重现,但在 iPad Air 上也是如此。 CocoaLumberjack 的 queueLogMessage 中总是至少有 2 个线程卡住:-- 请参见屏幕截图。

我以前在 8.1 和 8.2 上从未见过这个,但我在 8.3 上经常遇到这个问题。我并不是说这是 8.3 的错误:)

这是我以前从未调试过的复杂程度,所以我不确定该怎么做。我希望我提供了足够的信息,如果您需要更多信息,请告诉我(如果信息不是很清楚,请具体说明如何获取信息)。你能帮我调试一下吗?!万分感谢。

thread overview

thread details 1

thread details 2

main thread position

最佳答案

我在 iOS 8.3(与 CocoaLumberjack 无关)的 NSOperationQueue 中遇到了类似的 NSOperations 问题。我有并发操作创建它们自己的线程,这不再需要了。它在 8.2 中表现完美,但在 8.3 中表现不佳。

在启动方法中我简单地替换了:

[NSThread detachNewThreadSelector:@selector(main) toTarget:self withObject:nil];

与:

[self main];

关于ios - syscall_thread_switch iOS 8.3 竞赛 - CocoaLumberjack 错误?如何调试这个?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29624696/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com