简单却强大的线程监控工具 KKThreadMonitor :当线程过多或瞬间创建大量子线程(线程爆炸),控制台就打印出所有的线程堆栈。便于分析造成子线程过多或线程爆炸的原因。
/******* 线程爆炸,控制台打印如下: ********/
🔥💥💥💥💥💥一秒钟开启 28 条线程!💥💥💥💥💥🔥
👇👇👇👇👇👇👇堆栈👇👇👇👇👇👇👇
2020-04-12 12:36:29.270755+0800 BaiduIphoneVideo[55732:6928996]
当前线程数量:43
callStack of thread: 9219
libsystem_kernel.dylib 0x18022cc38 semaphore_wait_trap + 8
libdispatch.dylib 0x00003928 _dispatch_sema4_wait + 28
BaiduIphoneVideo 0x101285be0 -[TDXXXX脱敏🤣处理(去掉真实类名)XXXXager sendRequestWithBody:withURL:flag:] + 440
BaiduIphoneVideo 0x10128535c __29-[TDAXXXX脱敏🤣处理(去掉真实类名)XXXXnager sendMessage]_block_invoke + 804
libdispatch.dylib 0x00001dfc _dispatch_call_block_and_release + 32
... //省略中间线程堆栈
callStack of thread: 8707
libsystem_kernel.dylib 0x18022cc38 semaphore_wait_trap + 8
libdispatch.dylib 0x00003928 _dispatch_sema4_wait + 28
BaiduIphoneVideo 0x1026d2cd4 +[BaiduMobStatDeviceInfo testDeviceId] + 56
BaiduIphoneVideo 0x1026ca8a4 -[BaiduMobStatLogManager checkHeaderBeforeSendLog:] + 3384
BaiduIphoneVideo 0x1026cefdc -[BaiduMobStatLogManager _syncSendAllLog] + 536
BaiduIphoneVideo 0x1026c6398 __33-[BaiduM