問題タブ [nszombie]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
xcode - iosゾンビ検出
私のコードには(私の意見では)非常に難しい問題があります。コード内のさまざまな場所でランダムにクラッシュします。プロジェクトはARCプロジェクトです。
したがって、私のプログラムは次のメッセージでときどきクラッシュします。
すでにブレークポイントを設定しましmalloc_error_break
たが、そこから情報を取得できません。コードがクラッシュすると、XCodeはコード内で発生した場所を示します。しかし、すでに述べたように、クラッシュはランダムであり、常に発生するとは限りません。しかし、クラッシュはコードの特定の行に集中しているように見えます。
ここで、xcodeに付属している機器を使用してデバッグしたいと思いました。少しグーグルした後、stackoverflowで次のものを見つけました:Xcode 4でNSZombieEnabledを設定するにはどうすればよいですか?およびXcodemallocエラー。
したがって、最初のリンクは、xcodeの実行ボタンをクリックして[プロファイル]を選択することにより、xcode自体からゾンビ検出を開始する方法を説明しています。私が抱えている問題は、私のバージョンのxcode(4.2)でトレースドキュメントのテンプレートを選択するときに「ゾンビ」が見つからないことです。しかし、xcodeの外部(たとえばファインダーから)でInstrumentsを起動すると、ゾンビを選択できます。
さて、これが私がしたことです:
1)ファインダーからインストゥルメントを起動し、プロファイル「ゾンビ」を選択します。
2)iphoneシミュレーターのxcodeからiphoneアプリを起動します(通常の実行(プロファイルまたはデバッグではない))。
3)Instrumentsの「ChooseTarget」->「Attachtoprocess」->「iPhoneSimulator(57529)」。
4)楽器は何かを取り戻し始めます(私はそれが何をするのか理解できません)。
5)アプリがクラッシュするまでアプリをいじり始めます。
最終的にアプリがクラッシュします。アプリをクラッシュさせた後のインストルメントのスクリーンショットは次のとおりです。
私の質問:
1)ゾンビは私の問題に適していますか、それとも別の分析ツールを使用する必要がありますか?
2)クラッシュ後の出力にある楽器は何を教えてくれますか?
objective-c - [CFDictionary リリース]: メッセージが割り当て解除されたインスタンスに送信されました。何が問題なのですか?
ゾンビを示すこのエラーが発生し続けます。この 2 つの方法に絞り込みましたが、私の人生では何が問題なのかわかりません。
何か案は?
そして、これは..
iphone - didSelectRowAtIndexPath の NSZombie
興味深い問題がありますが、なぜそれが起こっているのかわかりません。見落としている小さな問題かもしれません。
UITableView があり、didselectrowatindex パスで新しいビューに移動し、次のビューに移動して両方のビューをポップして最初のビューに戻ると、アプリが EXC_BAD_ACCESS でクラッシュします
それで私はinstrumentsとNSZombieを使ってdidselectrowatindexpathでmallocを見つけましたが、その理由はわかりません
これが私のコードです:
編集:
私が言及するのを忘れていたのは、場合によっては、この同じクラスの別のクラスをナビゲーションコントローラーにプッシュすることですが、例外がスローされるのは、WorkflowViewController に移動し、次に次のビューコントローラーに移動してから 2 回戻った場合のみです。
iphone - クラス _NSZombie__GEOTileKeyWrapper は両方で実装されています?? と ??。2つのうちの1つが使用されます。どれが未定義ですか
アプリのデバッグ中に次のメッセージが表示されます。
クラスNSZombie _GEOTileKeyWrapper は両方で実装されています ?? と ??。2つのうちの1つが使用されます。どれが未定義です。
これが何であるか知っていますか?そして、それを修正する方法は?
objective-c - 診断と機器の両方にゾンビオプションがありません
Xcode 4.0.2を実行していると、他のSO投稿がゾンビを見つけることを提案している両方の場所から、ゾンビオプションが欠落しています。
製品>実行...は次のようになります:
製品>プロファイルは次のようになります:
奇妙なことに、このバージョンのXcodeで以前にZombiesを使用したことがあります。Allocationsインストゥルメントを使用してプロファイルを作成し、左上にあるAllocationsの情報ボタン(「i」)をクリックして、そこに表示される「EnableZombie...」をチェックしました。しかし、今それを試してみると、次のようになります。
これ以上のゾンビはありません。どういうわけかそれらを削除した可能性はありますか?
ios - UITableView ARC の問題
現在、UITableView を使用するアプリを作成していますが、この問題に 3 日間苦労しており、理解できません。
.h ファイルでは、両方の tableview メソッドをサブスクライブします。このような:
そして、私の実装はここにあります:
アプリがロードされるたびに常にクラッシュします。そこで、NSZombies を有効にすると、次のメッセージが表示されました。
これをオンラインで調べたところ、ほとんどの場合、テーブルビューがリリースされる前にこれが発生することがわかりましたnumberOfSectionsInTableView
。すべての Web サイトは、テーブルビューを保持する必要があると言っていますが、ARC を使用しているため、それを行うことができません。このクラッシュは時々発生します。そうでない場合は、テーブルビューに触れたり、スクロールしようとした瞬間にクラッシュします。私はいたるところを見てきましたが、この問題について何も見つけることができません。また、テーブルビューがどこでリリースされているのか、確かにわかりません。どんな助けでも大歓迎です。
objective-c - ARCクラスとNON-ARCクラスが混在するプロジェクトのゾンビオブジェクトの奇妙な動作:EXC_BAD_ACCESS
アプリケーションに大きな問題があり、それをどのように解決するのか疑問に思っています。SOでたくさん検索しましたが、有効な解決策が見つかりません。これが私が取り組んでいるシナリオです。
私はNON-ARCアプリケーションを持っていて、その中でたくさんのARCクラスを使用しています。これらのクラスはGMGridViewに属しています。これらのクラスは、-fobjc-arc
ディレクティブを使用してプロジェクトに追加されています。
これは私が使用しているコードです(簡単にするために、重要な部分のみを追加しました)。
メモリ管理セクション
ViewDidLoadセクション
データソースセクション
ゾンビオブジェクトを使用している場合、アプリケーションは正常に機能します。エラーはありません。しかし、ゾンビオブジェクトを無効にすると、アプリケーションはメソッドでEXC_BAD_ACCESSmain
をクラッシュさせます。ゾンビが有効になっていると、で発生するエラーの詳細が表示されるため、これは私にとって非常に奇妙ですmain
。
よくわからないのautorelease
はコード内の呼び出しですが、オブジェクトを自動解放プールに入れないとリークすると思います。
[gmGridView release]
少し調べてみると、dealloc
メソッドでコメントするとアプリがクラッシュしなくなることがわかりました。では、これはどういう意味ですか?電話しないとrelease
漏れgmGridView
ますか?
何か提案はありますか?前もって感謝します。
編集
- (GMGridViewCell *)GMGridView:(GMGridView *)gridView cellForItemAtIndex:(NSInteger)index
メソッドにコードを追加しました。初めて追加するのを忘れました。
(タイプの)のdealloc
方法が問題の根本にあるようです。ここにコードがあります。InternalView
UIView
コメント[detView release]
すると、クラッシュはなくなります。
objective-c - ブロックと非同期コールバック、dealloc オブジェクト - ブロックを nil する必要があります
ここに同様の質問がありますが、これは私が望むものを正確に説明していません: Objective C Blocks as Async-callbacks & BAD ACCESS
非同期コールバックでサービスを呼び出すビュー コントローラーがあります。コールバックは、ブロックを使用して実行されます。このブロックは、View Controller の変数を参照して変数を設定します。
次のようになります。
ただし、View Controller の割り当てを解除すると、「me」はコールバックによって不正にアクセスされます。
「私」をNULLにする最も簡単な方法は何ですか? iVar として配置すると、循環参照が返されます...と思いますか?
明らかな何かが欠けていると思います....
ありがとう
ios5 - MFMessageController での EXC_BAD_ACCESS
メッセージ コンポーザ シートから送信ボタンを押すと、このエラーが発生しました。私のコードは次のとおりです。
.h ファイルでピッカーを初期化しました。どうすればここから出られますか? NSZombiesを使ってみたのですが、メッセージ部分で問題が発生していて使えません。