忍者ブログ
なんでもいいから書くブログ。iPhoneアプリやAndroidアプリといったスマートフォンアプリを開発していこうと考えてはいるが、はたしてどこまでできるか、、とにかく記録していこうと思い書いているブログである。有益な情報はあるかもしれないし、ないかもしれない。
Admin | Write
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

iPhone開発。

またEXC_BAD_ACCESSでハマってしまった。

iPhoneアプリを開発していれば、誰しもこれでハマった経験はあるだろう。

EXC_BAD_ACCESSと出力してフリーズだ。。

いつも発生するならまだしも、たまに発生するケースは厄介。場所が特定できないので。

まぁ原因は、メモリ管理。releaseし過ぎか、retain忘れか。。


で、場所を特定しやすくする方法があったので紹介。

左ペインの「実行可能ファイル」にある実行ファイルをダブルクリックし

そこの引数タブの環境変数に「NSZombieEnabled」を追加して値を「YES」にする。

メモリ解放されずにゾンビとして生き残るということか。

これで、がんばって?!EXC_BAD_ACCESSを発生させる。

運が良ければ?!コンソールに何かしら出力される。

*** -[NSIndexPath release]: message sent to deallocated instance 0x5c5b610

やはり既に解放されているアドレスへのアクセスか。

でもこれで、NSIndexPath ということがわかった。

コールスタックも見覚えのある呼び出し(黒で表示されている部分)があったので、クリック。

- (void)dealloc {
      [lastIndexPath release];
      ...

lastIndexPathという変数だ。こいつが原因!

代入している部分を検索したら、

    lastIndexPath = indexPath;

こんな箇所が。。この変数はプロパティにしているので、

    self.lastIndexPath = indexPath;

が正解。(lastIndexPath = [indexPath retain]; これでもいいけど。)

self. にするかしないかで全く違うのです。

というか、プロパティだからセッターが呼ばれて、

その中で、古いのrelease 新しいのretain ってやってくれているだけだ。これ重要。







PR
Comment form
Name
Title
Comment
Password   Vodafone絵文字 i-mode絵文字 Ezweb絵文字
  管理人のみ閲覧可能にする
この記事のトラックバック
この記事にトラックバックする
YamaTatsuのiPhoneアプリ
iTunes Store でみる
LightOff Light Off Hot New
点いたライトを素早く消そう!
誰でも遊べるシンプルなゲームです

めいろであそぼう めいろであそぼう New
かわいいイラストのめいろ、ぬり絵もできる
子供向けの迷路あそびです。※iPad専用

運試し 運試し NEW
15連続の確率は0.0001%
操作は簡単 好きなパネルを選ぶだけ。どこまで進めるか運試し!

連打 連打! まだまだ人気
16連射に挑戦
10秒間で何回ボタンを押せるか競うゲームです。

うちメモ うちメモ ★大人気★
買い物中に 「まだあったかな?」 と思った経験 ありませんか? 「うちメモ」していれば大丈夫!!

BestBowling Best Bowling
マイボウラーに大人気! ボウリングのスコアを管理するアプリです。

イメージ貯金 イメージ貯金
貯金はモチベーションが重要! 目標を設定して毎日楽しく貯金しよう!

Mine Escape Mine Escape
聴力は優れていますか? 音で機雷の位置を判断する新感覚のアクションゲーム!

Rank Checker Rank Checker
だって気になるじゃないですか、、 アプリ開発者必須! AppStoreのランキングをチェックツールです。


カレンダー
03 2024/04 05
S M T W T F S
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
Twitter
プロフィール
HN:
YamaTatsu
HP:
性別:
非公開
自己紹介:
iPhoneアプリを開発してまーす。
最新コメント
[06/04 K.I.T]
[06/03 Cotoba]
[05/19 K.I.T]
[05/18 コタツ猫]
最新トラックバック
ブログ内検索
バーコード
忍者アド
アクセス解析
忍者ブログ [PR]

Designed by