Cocoa 可可计划可以';不可阻挡
我正在尝试编写一个使用串行端口的OSX应用程序。我找到了一个示例(cocoa),并在Xcode 4中运行了它。在第一次运行时,它打开了端口,我可以与硬件交换数据 如果我试图更改端口,程序就会出错。风车启动,用户界面无响应。我不能从Xcode停止程序,也不能从终端终止程序或强制退出。强制退出Xcode不能做到这一点。虽然PID随着终端的终止而消失,但UI仍然存在着欢快旋转的风车Cocoa 可可计划可以';不可阻挡,cocoa,debugging,xcode4,exception-handling,Cocoa,Debugging,Xcode4,Exception Handling,我正在尝试编写一个使用串行端口的OSX应用程序。我找到了一个示例(cocoa),并在Xcode 4中运行了它。在第一次运行时,它打开了端口,我可以与硬件交换数据 如果我试图更改端口,程序就会出错。风车启动,用户界面无响应。我不能从Xcode停止程序,也不能从终端终止程序或强制退出。强制退出Xcode不能做到这一点。虽然PID随着终端的终止而消失,但UI仍然存在着欢快旋转的风车 唯一的出路是重新启动。欢迎提供有关如何追踪错误代码的任何想法。我不熟悉Cocoa/Objective C,所以简单的术语
唯一的出路是重新启动。欢迎提供有关如何追踪错误代码的任何想法。我不熟悉Cocoa/Objective C,所以简单的术语更好。很可能它变成了僵尸。它应该出现在
ps auxww
(或类似)中,状态为“Z”。活动监视器也可能仍然显示它
这在使用硬件(如串行端口)时比较常见。僵尸的出现可能有两个原因,最有可能是第一个原因:
在第二种情况下,解决方案通常很简单——找到僵尸的父进程并杀死它。根据需要重复此操作,直到您的僵尸被调用wait()以获取它的父进程采用(如果没有其他操作,launchd将执行此操作)。提醒我电影的速度。“如果我不继续向运行循环提供事件,它将爆炸!!!”发布你的代码,Mike-我们不知道你在做什么或如何做。代码可能太大,无法发布。我找不到我从哪里下载的压缩项目。我很乐意通过电子邮件发送给你。谢谢你的建议。他们很可能会让比我更有经验的人受益。我在ps auxww中会是什么样子?活动监视器是位于XCode顶栏中心的大盒子吗?我将尝试更多的步骤,看看是否能找到关于:1的任何内容。如何找到父进程?活动监视器位于/Applications/Utilities中
ps
是您在终端中运行的东西。它也位于/Applications/Utilities中。