[解決済み】EXC_BAD_ACCESSシグナルを受信しました。
質問
アプリケーションをデバイスにデプロイすると、数サイクル後に以下のエラーが出てプログラムが終了してしまいます。
Program received signal: "EXC_BAD_ACCESS".
iPhoneのシミュレータでは問題なく動作し、デバッグも手順を一つずつ踏んでいけば実行されます。また実行させるとすぐに
EXC_BAD_ACCESS
シグナルを送信します。
このケースでは、たまたま加速度センサーのコードにエラーがありました。シミュレータでは実行されず、そのためエラーは発生しませんでした。しかし、デバイスにデプロイされると実行されます。
この質問に対する回答のほとんどは、一般的な
EXC_BAD_ACCESS
というエラーが発生することがあります。そこで、恐ろしいBad Accessエラーのためのキャッチオールとして、これをオープンにしておきます。
EXC_BAD_ACCESS
は、通常、不正なメモリアクセスの結果としてスローされます。より詳しい情報は、以下の回答で確認できます。
を使用することができます。
EXC_BAD_ACCESS
シグナルにどのように対処しましたか?
どのように解決しましたか?
あなたの説明から、最も可能性の高い説明は、あなたのメモリ管理に何らかのエラーがあることだと思われます。iPhoneの開発に携わって数週間とのことですが、Objective C全般の経験があるかどうかはわかりません。もしあなたが他のバックグラウンドから来たのであれば、メモリ管理のルールを本当に理解するまでに少し時間がかかるかもしれません-あなたがそのことに大きなポイントを置かない限り。
アロケーション関数(通常は static alloc メソッドですが、他にもいくつかあります)やコピーメソッドから取得したものはすべて、自分もそのメモリを所有し、使い終わったら解放しなければならないことを覚えておいてください。
しかし、もしあなたが他のあらゆるものから何かを取り戻したなら、それは
を含む
ファクトリーメソッド (例:
[NSString stringWithFormat]
つまり、将来、他のコードによって解放される可能性があるということです。したがって、その機能を超えて保持する必要がある場合は、保持することが重要です。そうしないと、エミュレータでテストしている間はメモリが割り当てられたままになったり、解放されても偶然にまだ有効だったりしますが、デバイス上で実行すると解放されて不正アクセスエラーとして表示される可能性が高くなります。
これらの問題を追跡する最良の方法は、(たとえ明らかな問題がない場合でも)楽器ツールでアプリを実行することです(特にリークオプションを使用すること)。
関連
-
[解決済み] 'strcmp' はこのスコープで宣言されていません。
-
[解決済み】iOS 9.0より前のUIStackView
-
[解決済み] Xcodeエラー "Could not find Developer Disk Image" が発生する。
-
[解決済み] Info.plist ユーティリティのエラーです。"そのようなファイルがないため、Info.plistを開くことができませんでした"
-
[解決済み] MacOSとXcodeをアップデートすると、Xcode 8.1の「No matching provisioning profiles found」が表示される。
-
[解決済み] 配列型 'int [16]' は代入不可能です。
-
[解決済み] React native - connection has no connection handler エラーの意味?
-
[解決済み] UILabelにスペース/パディングを追加する
-
[解決済み] アプリケーションは、アプリケーション起動の最後にルートビューコントローラーを持つことが期待される
-
[解決済み] Swift 4 データが正しい形式でないため、読み取ることができませんでした。
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】リンカーコマンドが終了コード1で失敗(起動を確認するには-vを使用)、Xcode 8、Swift 3
-
[解決済み】印刷します。エントリ, ":CFBundleIdentifier", Does Not Exist
-
[解決済み】NSURLErrorDomainエラーコードの説明
-
[解決済み] シミュレーターiOS 13でダークモードを使用するには?
-
[解決済み] swiftで「floor」が使用できない
-
[解決済み] iOS Development 証明書が失効されました
-
[解決済み] Stringをformatで作成するには?
-
[解決済み] 条件付きバインディング:letエラーの場合 - 条件付きバインディングのイニシャライザーはOptional型でなければならない
-
[解決済み] iOS Swift 3 - UIDatePicker
-
[解決済み] デプロイメントターゲットとは何ですか?