1

dispatch_asyncがハングするという問題が発生しています。キューに別の操作を追加するときに、キューにある操作/メソッドを確認して、キューがぶら下がっている場所を追跡できるようにします。

        dispatch_async(dispatch_get_main_queue(), ^{
            // NSLog the items in the queue at this moment
            [_delegate searchOperationFinished:self];
        });

キューが機能していることを確認しましたが、他の操作を実行しましたが、このメソッドを実行するのに最後まで到達することはありません。

4

1 に答える 1

2

私が知っている限り、あなたはできません。コンソール出力をチェックして、何かが例外をスローしたかどうかを確認します。さらに良いことに、デバッガーの下で実行し、例外を中断します。

それでも何も表示されない場合は、デバッガーで停止し、メインスレッドのスタックトレースを確認してください。おそらく、何かがメインスレッドでブロックされているか、内部実行ループを実行しています。いずれにせよ、スタックトレースは何を明らかにする必要があります。(少なくともMac OS Xでスタックトレースを取得する別の方法は、Activity MonitorまたはInstrumentsを使用してプロセスを「サンプリング」することです。)

于 2012-05-31T21:23:11.090 に答える