問題タブ [exc-bad-access]
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.
macos - cocoa プログラムが起動時に EXC_BAD_ACCESS を受け取るのはなぜですか?
cocoa アプリケーションのロード中に、メッセージ EXC_BAD_ACCESS でプログラムがクラッシュします。スタック トレースは役に立ちません。問題を見つける方法の手がかりはありますか?
iphone - TableViewController でのオブジェクトの誤動作 (EXC_BAD_ACCESS) の Objective-C 配列
私は Objective-C を初めて使用しますが、Car オブジェクトの配列内の NSString オブジェクトが解放されたように見える理由がわかりません。
ここに私の Car.m クラスがあります:
そして、これが私の Simple_TableViewController.m クラスです。listData インスタンス変数は、viewDidLoad() で正しく設定されます。デバッガーでは、各配列要素の NSString *name プロパティはそのままです。次に、他のすべての方法で、listData が破損しています。すべての Car 要素に正しい primaryKey 値と categoryId 値が含まれていますが、NSString *name プロパティは「無効」です。
私はゾンビこれをいじり、指が落ちるまでそれを保持します. listData 変数の @property (nonatomic、retain) と @synthesize を削除しましたが、まだ同じ問題があります。
あなたが提供しなければならないアドバイスを事前にありがとう!
iphone - UIAlertView が表示されず、「EXC_BAD_ACCESS」エラーが発生する
キーボードの戻るボタンが押されると、メソッドが呼び出されます。整数を返す別のメソッドを呼び出した後、その整数に基づいてメッセージが作成されます。メッセージは UIAlterView に渡され、ユーザーに表示されます。アラートにはオプションがありません (そのため、デリゲートを呼び出していません)。何が起こったかをユーザーに通知するだけです。
編集:以下は完全な方法です(以前は部分的に表示されていました)。の前のすべてをコメントアウトし、UIAlertView
メッセージを渡す代わりに文字列 @"test" を置き換えると、アラートが正常に表示されます。構造体でメモリを正しく処理していませんか?
コードを実行すると、アラートを表示しようとしているように iPhone がグレー表示されますが、クラッシュします。EXC_BAD_ACCESS
コンソールにエラーが表示されます。アラートまたはメッセージを正しくリリースしていませんか? コンソール出力は次のとおりです。
編集:回答に基づいて文字列を削除[message release];
および割り当てました。[NSString stringWithString];
iphone - 保存時にIphone Core Dataがクラッシュする
現在、Core Data を使用して Iphone アプリケーションを作成していEXC_BAD_ACCESS
ますが、[managedObjectContext save:&&error] コード行でエラーが発生します。このクラッシュは、特定のフィールドを変更した後にのみ発生します。より具体的には、エンティティには 2 つの文字列フィールド (約 10 フィールドのうち) があり、モーダル ビュー コントローラー (テキスト エディターなど) の戻り値から値を取得します。クラッシュは、これらのフィールドが編集された後にのみ発生し、最初に値を入力すると正常に機能します。
文字列だけのフォーマットコンストラクターを持つ文字列を持っている理由は、構造をコピーしようとしていたからです...それが自動的に行われるかどうかわかりませんか? これらの文字列からの保持/解放メッセージ (これら 2 つはモーダル ビュー コントローラーからのもの) と考えられ、モーダル ビュー コントローラーまたは何かの破棄時に解放されていました。それでもうまくいかないので、そうではないと思います。
クラッシュしているコードセクションは次のとおりです。
[編集]
}
そして、ここにクラッシュログがあります:
どんな助けでも大歓迎です、ありがとう。
更新: また、プログラムがクラッシュしても、バックアップを開くと、データは正しく保存されています。したがって、EXC_BAD_ACCESSは、保存が少なくとも永続ストアに保存するのに十分な距離になった後に発生する必要があります。
保存行をコメントアウトすると、コードが正常に実行されるようになりました。しかし、閉じて終了した後は保存されません。ルート ビュー コントローラーの willAppear 関数で保存行を実行すると、同じ EXC_BAD_ACCESS エラーがスローされます。私が得たバックトレースを行う場合、コンソールは EXC_BAD_ACCESS 以外は何も言いません:
申し訳ありませんが、以前はコードが適切にフォーマットされていませんでした。このView Controllerが新しい「メッセージ」でない場合に作成されると、次のようにfetchedResultsControllerから取得されたメッセージオブジェクトが渡されます。
(最初のコード セットは、messageView のクラスである MessageViewController.m ファイルからのものです)
EditorViewController をモーダル ビューとして表示してから戻った場合にのみクラッシュします。textArray と htmlString の行 (モーダル ビューが影響する唯一のもの) を次のように変更しても、
それはまだクラッシュします。ただし、両方の行をコメントアウトすると、クラッシュしません。
そのため、モーダル ビューを表示してから NSOManagedObject の textArray または htmlString フィールドを編集しようとするとクラッシュするようです...
これが私がビューを提示する場所です:
そして、私はそれを却下します:
objective-c - Objective-C での予期しない EXC_BAD_ACCESS
私は次の方法を持っています:
コードは期待どおりに実行されます。
ただし、行 (A) をコメントアウトするか、末尾の ",nil" を削除すると、EXC_BAD_ACCESS
行 (B) でエラーが発生します。デバッガーによると、+[NSArray arrayWithObjects] 組み込みコンストラクター内の CFRetain でエラーが発生します。
さらに、行 (A) をコメントアウトし、for(...) ループをコメントアウトすると、コードはメソッドを実行します。
これは私にとって非常に予想外です。行(B)で何が間違っていますか?そして、行 (A) で完全に異なる配列を作成すると、メソッドが実行されるのはなぜでしょうか? for(...) ループをコメントアウトすると、その前にある行 (B) のエラーが防止されるのはなぜですか?
誰かがこれがなぜなのか説明できますか? または、少なくともデバッグに関するアドバイスをください。メソッドが 1 回だけ実行され、「self」が有効であることは既に確認済みです。
iphone - 誰かが iPhone アプリでこのスタックトレースについて手を差し伸べることができますか?
現在、私のプログラムには非常に奇妙なエラーがあります。起こる時もあれば、起こらない時もあります。しかし、ここに何が起こっているかの要約があります:
プログラムの起動時:
- 保存されたデータ (13 要素で構成される短い plist のみ) が存在する場合は、それが読み込まれます。
- 1014 個の文字列を含む巨大な plist が NSMutableDictionary にロードされます。
- 78 個の文字列を含む別の plist が NSArray にロードされます。
- .mp4 ムービーが再生されます。
エラーは、OpenGL ES View が削除され、ユーザーが NSMutableDictionary の 1014 文字列のいずれかの文字列を表示しようとしている部分で発生します。
このエラーは、シミュレータでは発生しません。iPhoneでのみ発生し、正常に動作することもありますが、クラッシュすることもあります。
しかし、スタックトレースを読んだところCFDictionaryApplyFunctionが入っていたので、原因の一つではないかと考えました。シミュレーターでは非常に高速に読み取り、plist の辞書全体が瞬時に読み込まれるのに対し、デバイスでは読み取りが遅いためですか? 正直なところ、辞書がどのように機能するのか正確にはわかりません。1014 文字列すべてを瞬時に読み取るのか、それとも他のスレッドを使用してゆっくりと読み取るのか? ご意見をお聞かせください。ありがとうございました。
iphone - iPhone のデバッグ ヘルプ - オブジェクトがいつ解放されるかを確認できますか?
私は最初の iPhone アプリの開発に少しずつ取り組んでおり、exc_bad_access に何度も遭遇しています。(これは、まだ MVC に適した方法で設計していないためだと思います。)
これらのエラーが常に発生する理由を突き止めようとするのは非常にイライラします... xcode デバッガーでポインターの監視リストを保持する方法があるので、さまざまなオブジェクトがいつ解放されるかを実際に確認できますか? 私のプログラム設計に欠陥がある理由をより視覚的に理解できるものはありますか?
特に、NSURLConnection メソッドをすべてラップした「webobject」クラスで問題が発生し続けています。 Web オブジェクトの合成プロパティにアクセスします。Web サービス関連のすべてのメソッドを、どこにでもインポートできるクラスにラップする必要があるという私の考えに根本的な問題がありますか?
iphone - UIWebView EXC_BAD_ACCESS クラッシュ
UIWebView を使用するアプリのクラッシュが発生しています。通常、ページが完全に読み込まれておらず、UIWebView が stopLoading セレクターに送信された場合です。または、UIWebView がページを完全にロードしたとき。私は持っていEXC_BAD_ACCESS
ます。スタックは次のようになります。
私にとって最も奇妙なwebView:decidePolicyForNavigationAction:request:frame:decisionListener:
のは、UIWebView ドキュメントにそのようなセレクターがないため、UIWebView に送信されるセレクターです。Cocoa (cocoa touch ではない) WebView 専用です。UIWebView またはそのデリゲートに問題があると思われます。しかし、ブレークポイントを設定してそれらを監視することはできません。この状況でより多くの情報を得る方法を教えてください。
iphone - デバイスのデバッグで iPod Touch がクラッシュする (EXC_BAD_INSTRUCTION、EXC_BAD_ACCESS)
Xcode 3.1.3 の開発デバイスとして iPod Touch 2G を使用しています。デバッガーのブレークポイントからデバイスでの実行をトレースしようとすると、EXC_BAD_INSTRUCTION、EXC_BAD_ACCESS、またはデバッガーが何かを逆アセンブルできないというエラーが発生します。同じことが iPhone Simulator でも正しく動作します。以前は、他の iPod Touch 2G および iPhone 3G デバイスのブレークポイントから実行を追跡することができました。
ブレークポイントで中断されない場合、アプリは正常に動作します。また、「ステッピング」の前に、現在スタックにある変数を調べることができ、それらの値は正しいようです。
デバイスに何らかの欠陥がある可能性はありますか、それともプロジェクトの構成をもっと詳しく調べる必要がありますか (そして何を探す必要がありますか)?
編集: プロジェクト構成で遊んだ後、「Compile for Thumb」オプションを無効にした後、デバッガーが正常に動作し始めることがわかりました。今の問題は、なぜそうなのかということです。