【问题标题】:iPhone app running in simulator won't quit (or be killed)在模拟器中运行的 iPhone 应用程序不会退出(或被杀死)
【发布时间】:2009-06-07 12:42:22
【问题描述】:

我在模拟器中运行了一个不会退出的 iPhone 应用程序。我也无法杀死它,不使用活动监视器,也不使用 kill 或 kill -9 或 killall。

cyrus:~ ajbrehm$ ps auxc|grep Vocky
ajbrehm  76450   0.0  0.1   153116   5212   ??  UE   12:59pm   0:00.05 Vocky
ajbrehm  76437   0.0  0.1   153116   5212   ??  UE   12:58pm   0:00.05 Vocky
ajbrehm  76350   0.0  0.1   153116   5212   ??  UE   12:57pm   0:00.05 Vocky
ajbrehm  76336   0.0  0.1   153116   5212   ??  UE   12:56pm   0:00.05 Vocky
ajbrehm  76329   0.0  0.1   153116   5212   ??  UE   12:56pm   0:00.05 Vocky
ajbrehm  76276   0.0  0.1   153116   5212   ??  UE   12:56pm   0:00.05 Vocky
ajbrehm  76245   0.0  0.1   153116   5212   ??  UE   12:55pm   0:00.05 Vocky
ajbrehm  76176   0.0  0.1   153116   5212   ??  UE   12:55pm   0:00.05 Vocky
ajbrehm  76159   0.0  0.1   153116   5212   ??  UE   12:54pm   0:00.05 Vocky
ajbrehm  76150   0.0  0.1   155136   9264   ??  UE   12:54pm   0:00.10 Vocky

每当我在模拟器中运行应用程序时都会发生这种情况。有时 Xcode 的调试器会检测到它,而模拟器将不再运行应用程序,因为正如控制台所说,它已经在运行了。

该程序使用 iPhone 应用程序的普通 Xcode 模板之一,否则在模拟器和物理 iPhone 上运行良好。在我看来,这种行为也是新的。但是代码没有改变,只有包含文本的数据文件改变了。

有什么想法吗?

【问题讨论】:

  • 该应用程序是否已经安装在模拟器中或者您是否正在调试模式下运行??

标签: iphone xcode


【解决方案1】:

好的,我想通了。

一段时间后,VMware 也开始出现异常行为,并在 Activity Monitor 中留下了 vmware 僵尸。然后其中一个 VMware 实例阻止了 GUI。 (由于某种原因,它还不断更改鼠标指针跟踪速度。我不知道为什么允许 VMware 更改系统首选项并阻止 GUI。)

最终我不得不关闭 GUI(我关闭了 loginwindow 和 windowserver)并解决了问题。

几天前,我尝试关闭 Spotlight 搜索,因为它在复制过程中开始索引 600 GB 的传入数据(因此,从 Firewire 800 磁盘花了将近 6 个小时)。出于某种原因,在该复制过程中阻止 Spotlight 重新启动的唯一方法是将 ReportCrash 重命名为其他名称(“ReportCrash2”),以便找不到它。这在当时是有道理的。

问题是我忘记了我已经这样做了。

一旦 ReportCrash 再次可用,每个僵尸程序都报告其崩溃并离开,iPhone 程序和 VMware 界面的许多实例均如此。这花了大约 5 分钟。 (在此过程中,我了解到 24 英寸 Apple Cinema Display 是一款出色的文本界面显示器!最后我可以看到每一行都没有换行符。)

完成后,我重新启动了windowserver 和loginwindow 并可以重新登录到GUI。我的 VMware 虚拟机也幸存了下来(因为我没有重新启动),VMware 再次运行,我可以连接到所有 Windows 虚拟机,僵尸进程已经消失。

一旦明确它与 Xcode 或 gdb 无关,结果发现这是一个十分钟的问题。

我讨厌 ReportCrash。

【讨论】:

  • 什么?根本没有赞成票吗?我认为这是一个很好的答案! :-(
【解决方案2】:

首先停止 gdb(调试器)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-02-04
    • 1970-01-01
    • 2021-03-01
    • 1970-01-01
    • 2011-04-14
    相关资源
    最近更新 更多