cat*_*lan 5 cocoa objective-c dyld nstask
我使用NSTask来运行我的帮助应用程序.99%的我的客户系统一切正常,但有两个回到我这让我知道它没有.其中一个非常好,让我可以调查每个远程桌面的问题.
我为StandardOutput/StandardError 尝试了很多不同的NSPipe/NSFileHandle组合,以确保问题与填充这些缓冲区无关.例1和2.我的猜测是它没有相关性,因为它在很多系统上工作正常,并且_dyld_start在应用程序生命周期中为时尚早,以填满StandardOutput/StandardError.
关于这个问题的其他说明:
活动监视器中的过程示例的屏幕截图:
任何线索或调试技巧,以确定帮助器卡在_dyld_start中的原因是受欢迎的!
Jea*_*ean -1
既然没有人回答,我就提出一些想法。也许其中之一是答案 \xe2\x80\x93 只是猜测 \xe2\x80\x93 但由于欢迎线索和提示,你可以看一下:
\n\n如果我没记错的话, NSTask 会调用posix_spawn(2). 这可能是一个线索,因为使用fork(2)andexecv(3)似乎有效,您可以关注NSTask和 非阻塞替代方案之间的差异。显然,一开始就发生了一些事情,阻碍了孩子的正常执行。
sysdiagnose_timestamp_.tar.gz