gpt4 book ai didi

ios - CFReadStreamRead 中的 EXC_BREAKPOINT 崩溃

转载 作者:塔克拉玛干 更新时间:2023-11-01 21:33:30 25 4
gpt4 key购买 nike

有人知道为什么这有时会崩溃吗?我被这个难住了。我猜它在 100 次或类似情况下崩溃了 1 次。

// from header file
struct _PTP_IP_Packet_INIT_EVENT_ACK {
uint32_t ptpIPPacketLength;
uint32_t ptpIPType;
};
typedef struct _PTP_IP_Packet_INIT_EVENT_ACK PTP_IP_Packet_INIT_EVENT_ACK;
#define PTP_IP_PacketLength_INIT_EVENT_ACK (2*sizeof(uint32_t))

崩溃发生在最后一行:

    PTP_IP_Packet_INIT_EVENT_ACK eventack;
PTP_CNT_INIT(eventack);
len = [self.myWorker.eventInputStream read:(unsigned char*)&eventack maxLength:PTP_IP_PacketLength_INIT_EVENT_ACK];

崩溃数据:

#24
EXC_BREAKPOINT 0x0000000184045750
Crashed: PTPWork-192.168.1.1
0 CoreFoundation 0x184045750 CFHash + 256
1 CoreFoundation 0x184046c1c CFBasicHashGetCountOfKey + 960
2 CoreFoundation 0x184046810 CFSetContainsValue + 152
3 CoreFoundation 0x18407644c CFRunLoopRemoveSource + 236
4 CFNetwork 0x183b68fcc SocketStream::read(__CFReadStream*, unsigned char*, long, CFStreamError*, unsigned char*) + 520
5 CoreFoundation 0x184072c88 CFReadStreamRead + 520
6 Photobooth 0x1001348a0 -[PTPCamera initializeEventStreams] (PTPCamera.m:188)
7 Photobooth 0x100134398 -[PTPCamera initializePTP] (PTPCamera.m:127)
8 Photobooth 0x1001084b0 -[PTPWorker setState:] (PTPWorker.m:333)
9 Photobooth 0x100107b8c -[PTPWorker main] (PTPWorker.m:222)
10 Foundation 0x18505e308 __NSThread__main__ + 1072
11 libsystem_pthread.dylib 0x195babdc8 _pthread_body + 164
12 libsystem_pthread.dylib 0x195babd24 _pthread_body + 158
13 libsystem_pthread.dylib 0x195ba8ef8 thread_start + 4

最佳答案

EXC_BREAKPOINT 在这种上下文中通常意味着抛出 NSException,这是调试器中断的方便位置。

self.myWorker.eventInputStream 出现问题的两个最可能的原因(并不相互排斥)是

  • 您正在尝试在其源代码关闭后读取它
  • 该来源存在线程争用问题

这在 NSThread 中崩溃使得第二个选项成为可能。如果您报告这种情况“100 次或类似事件中有 1 次”,那么第二种选择几乎是确定无疑的。

只是为了确定,将所有使用 self.myWorker.eventInputStream 的东西放在主线程上。如果崩溃立即完全消失,正如预期的那样,那么您需要弄清楚如何正确锁定对流的访问,以便这里的争用问题消失。祝你好运!

关于ios - CFReadStreamRead 中的 EXC_BREAKPOINT 崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37358412/

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