[解決済み] KERN_INVALID_ADDRESSとKERN_PROTECTION_FAILUREの違いは何ですか?
質問事項
とはどう違うのですか?
KERN_INVALID_ADDRESS
と
KERN_PROTECTION_FAILURE
をiPhone OSで使用することはできますか?
アドホックベータテスターからの5分間隔のクラッシュレポートが2つありますが、それらの主な違い("Binary Images:"のセクション以外)はこのセクションです。
報告書A
Exception Type: EXC_BAD_ACCESS (SIGBUS)
Exception Codes: KERN_PROTECTION_FAILURE at 0x00000008
報告書B
Exception Type: EXC_BAD_ACCESS (SIGSEGV)
Exception Codes: KERN_INVALID_ADDRESS at 0x67696c69
参考までに、どちらもこのようなトレースがあります。
Thread 0 Crashed:
0 libobjc.A.dylib 0x30011940 objc_msgSend + 20
1 UIKit 0x30940174 -[UIWindow _shouldAutorotateToInterfaceOrientation:] + 60
2 UIKit 0x30a223d8 -[UIWindow _updateToInterfaceOrientation:duration:force:] + 36
3 UIKit 0x30958638 -[UIWindow _updateInterfaceOrientationFromDeviceOrientation] + 112
4 UIKit 0x30942514 -[UIWindow _handleDeviceOrientationChange:] + 72
5 Foundation 0x3054dc7a _nsnote_callback + 178
6 CoreFoundation 0x3024ea52 _CFXNotificationPostNotification + 298
7 Foundation 0x3054b854 -[NSNotificationCenter postNotificationName:object:userInfo:] + 64
8 UIKit 0x309414a4 -[UIDevice setOrientation:] + 124
9 UIKit 0x30938330 -[UIApplication handleEvent:withNewEvent:] + 5232
10 UIKit 0x30936ce8 -[UIApplication sendEvent:] + 60
11 UIKit 0x30936874 _UIApplicationHandleEvent + 4336
12 GraphicsServices 0x32046964 PurpleEventCallback + 1028
13 CoreFoundation 0x30254a70 CFRunLoopRunSpecific + 2296
14 CoreFoundation 0x30254164 CFRunLoopRunInMode + 44
15 GraphicsServices 0x3204529c GSEventRunModal + 188
16 UIKit 0x308f0374 -[UIApplication _run] + 552
17 UIKit 0x308eea8c UIApplicationMain + 960
18 MyApp 0x00015e24 0x1000 + 85540
19 MyApp 0x0000f138 0x1000 + 57656
また、私のコードのどこにも "shouldAutorotateToInterfaceOrientation:" メソッドを実装していません。
どうすればいいですか?
EXC_BAD_ACCESS (SIGBUS) KERN_PROTECTION_FAILURE
は、仮想アドレスが明らかに間違っていることを意味します。ほとんどのCPUは、あるバイトの境界でメモリにアクセスしなければなりません。このデータアクセスは64ビット値(8)にアラインされているので、128ビット値をフェッチする命令(比較・交換命令など)を実行しようとしたのでしょう。
CMPXCHG16B
). いずれにせよ、この例からわかるように
0x00000008
ということは、おそらく先頭から 8 バイトのオフセットがある構造体要素にアクセスしているのですが、構造体ポインタが
NULL
.
EXC_BAD_ACCESS (SIGSEGV) KERN_INVALID_ADDRESS
は、参照する仮想アドレスがページテーブルにないか、アクセス権がないことを意味します。アクセスが許可されていない仮想アドレスということです。あなたの例のアドレスの場合
0x67696c69
ポインタではないものがポインタのように扱われたか、そのポインタを含むデータ構造がフリーになって他のデータで上書きされた可能性が高いです。
あなたの
KERN_INVALID_ADDRESS
の例では、ポインターデータのスペルはASCIIの「ilig」です(リトルエンディアンのため)。したがって、ポインタが格納されていたメモリは、何らかの文字列で上書きされた可能性があります。
どちらのケースも、何かが原因で
UIWindow
.
関連
-
[解決済み] カスタマイズしたバーボタンアイテムで「Plain Style unsupported in a Navigation Item」の警告が表示される。
-
[解決済み] GLSL(OpenGL ES 2.0)で定数配列を定義する方法を教えてください。
-
[解決済み] kern_invalid_address
-
[解決済み] UITableViewの背景画像付きセル
-
[解決済み] iPhone UITableView PlainStyleでカスタム背景画像 - "完全に "コードで実行されます。
-
[解決済み] Objective-Cの定数キーの命名
-
[解決済み】UIButtonのテキストと画像をimageEdgeInsetsとtitleEdgeInsetsで整列させる。
-
[解決済み】2つのNSDatesを比較する方法。どちらがより新しいですか?
-
[解決済み】YouTubeやMapsなど、iPhoneアプリのhttp+ドメインベースのURL Schemeを登録することは可能でしょうか?
-
[解決済み】インスタンスメッセージの受信者型***は、フォワード宣言である
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] ストーリーボードの警告:プロトタイプのテーブルセルは再利用可能な識別子を持つ必要がある
-
[解決済み] 地名から座標へ 最短距離
-
[解決済み] <Error> です。CGAffineTransformInvert: 非正規行列
-
mallocです。オブジェクトxxの***エラー:解放されるポインタが割り当てられていない
-
[解決済み] キーチェーン警告 「System Roots」キーチェーンは変更できません [終了しました]。
-
[解決済み】iPhone5(ワイドスクリーンデバイス)を検出する方法は?)
-
[解決済み】iTunes Connect Screenshots Sizes for all iOS (iPhone/iPad/Apple Watch) devices
-
[解決済み】Xcodeの「ビルドとアーカイブ」メニューが無効になる件
-
[解決済み】YouTubeやMapsなど、iPhoneアプリのhttp+ドメインベースのURL Schemeを登録することは可能でしょうか?
-
[解決済み】iOS 7でUITableViewのセパレータを修正する方法は?重複