English 中文(简体)
an 间歇性仓促的国家安全行动 Queue
原标题:Debugging an intermittently stuck NSOperationQueue

我有一个真正的新奇迹:在我的安保行动中开展一项行动。 出于某种原因,将hang死,不能完成执行其他行动,但其他行动却被搁置,但至今仍未执行。 这反过来又导致无法开始履行关键职能。 我尚未能够确定除每周或每周在我的一个同事装置上发生的情况外的任何模式。 此时从X条码上传出的镜子,无助于杀戮和重新唤起眼眼,暂时解决问题。 我曾尝试过把挖尸首附在运行过程中,我似乎能够看到原木数据,但我补充说,任何破碎点都没有登记。 我补充说,有一辆面包车的行车道是国家行车监督记录仪,试图在什么地方hang死,但这尚未导致一项决议。

我最初描述了 另一问题。 由于缺乏能够解决该问题的Im胎儿,这一说法还没有明确答案。

一位朋友曾经告诉我,在某个时刻,有可能以某种形式挽救整个记忆,并将这一准确的记忆状态重新载到一个不同的装置上。 是否有任何人知道我如何能够做到这一点? 如果这有可能在今后某个时候会遇到这样的困难,那么我可以拯救这一准确的记忆状态,并重复测试我所有可能的解决办法理论。 还是采取不同做法处理这一问题? 作为一项临时措施,你是否认为,当人们进入这个国家时,强行造成 app撞,从而减少实际使用者的混淆? 我的心情好坏参半,但使用者必须杀死多塔克码头的 app,以便再次使用。 我可以检查行动点,或为此制定某种时间范围代码,直到我实际上放弃这一ug。

最佳回答

这在非常少见的种族关系上是一个僵局。 您还提到使用2号最高业务组。 这意味着:

  1. some operation is blocking the operation queue and waitiong for main to release some lock and main is waiting for the operation to finish
  2. two operations are waiting on each other to release some lock

1 似乎极不可能,因为要让两个并行行动完全受阻,除非你利用某些系统职能,这些职能具有一致性问题,阻碍你们解决问题,而不只是一线。

我的第一项尝试是进行 de击,把 de刑和pa刑联系起来。 之后,你可以看一看所有read子的痕迹。 你们应该能够找到你的行动点所形成的两条线,然后,我将审查责任职能,以便找到可能等到24小时的密码。 确保考虑到项目职能。

问题回答

Well it s quite hard to solve bugs that don t crash the App but just hang a thread. If you can t find the bug by looking at your code step by step checking if there are any possible deadlock- or raceconditions I would suggest to implement some logging.

Write your log to disk everytime you add a logentry. That s not the most memory efficient way, but if you give a build with logging enabled to your co-worker you can pull the log from his iPhone when things go wrong. Even while the App is still running.

确保你将你所采取的每一步骤记录下来,包括你怀疑会打破该申请的法典上的重要变量的数值。 这样,你就可以看到申请人正在做些什么以及申请人的状况。

希望有助于达成一条轨道。 我现在不谈恢复申请人的记忆,这样就能够帮助你。

说明;如果上诉庭在座标上坠毁,你可以使用其他一些工具,但如果我正确认为这里的情况并非如此?


我阅读了标语描述的问题,我将试图对目前运行的业务进行盘点。 看来,行动将一度停顿,在那里出现ug。 如果你在开展行动时能够确定需要什么方法,这将显示你会要求什么职能,而你可以在那里开始研究。

您没有说过这一点,但我假定,当人类运营商正在与他人合作时,就会出现 b。 或许,如果用随机抽出的时间开始不同的行动,那么,如果对使用者通常从事的相同业务进行模拟,那么你就应当为这一评估添加一个自动化模式。 然后,你可以把手 app弃在你所有的装置上,增加看到问题的机会。

此外,由于该问题似乎与“国家高代行动”有关,也许你应该将其分类,以便你能够把伐木添加到更有意思的方法中。 例如,每次增加一次行动时,你都应记录点的位置,因为你怀疑有时会暂停。

此外,我也就你的其他问题提出这一看法,如果问题已经进入暂停状态,你可能要设立一个观察员,以获得通知。

Good luck.

在这里检查假设,因为这种假设永远不会受到伤害:实际上,你是否有证据表明,你的背景情况正在hang死? 根据你的报告,所观察到的行为是,你在背景中重新阐述的任务并没有取得你预期的结果。 这必然表明,表面上已经 h了——可能只是表明,具体条件意味着由于完成的所有任务而read然关闭,而没有完成你想要的任务。

Addition: Given your answer in the comments, it seems to me the next step then is to use logging when an item begins to be executed in the queue so that you can identify which items it is that lead to the queue becoming blocked. Best guess is that it is a certain class of items or certain characteristics of the items if they are all of a certain class. Log enough as the first step of executing each item that you ll have a reasonable characterization of the item, and then once you get a real device that has entered this state, check the logs and see just what conditions are leading to this problem. That should enable you to reliably reproduce the problem on a device during debugging or in the simulator, to then nail it.

In other words—I would focus your attention on identifying the problematic operations first, rather than trying to identify the particular line of code where things are stalling.





相关问题
List Contents of Directory in a UITableView

I am trying to list the contents of Ringtones directory in a TableView, however, I am only getting the last file in the directory in ALL cells, instead of file per cell. This is my code: - (...

iPhone NSUserDefaults persistance difficulty

In my app i have a bunch of data i store in the NSUserdefaults. This information consists of an NSObject (Object1) with NSStrings and NSNumbers and also 2 instances of yet another object (Object2). ...

Writing a masked image to disk as a PNG file

Basically I m downloading images off of a webserver and then caching them to the disk, but before I do so I want to mask them. I m using the masking code everyone seems to point at which can be found ...

Resize UIImage with aspect ratio?

I m using this code to resize an image on the iPhone: CGRect screenRect = CGRectMake(0, 0, 320.0, 480.0); UIGraphicsBeginImageContext(screenRect.size); [value drawInRect:screenRect blendMode:...

Allowing interaction with a UIView under another UIView

Is there a simple way of allowing interaction with a button in a UIView that lies under another UIView - where there are no actual objects from the top UIView on top of the button? For instance, ...

热门标签