0

私は、CountdownCenter という名前の cydia 微調整の開発者です。ウィジェットのデジタル時計の外観を作成しようとしていたので、これを完全に行うサンプル アプリを作成しました。これを行った後、このデータを微調整のコードに転送しましたが、これにより iPhone で SIGSEGV クラッシュが発生します。いくつかのテストの後、クラッシュの原因となっている部分を見つけましたが、この部分は通常のアプリで機能するため、何が問題なのかを見つけることができません. 助けてください。

コードは次のとおりです。

int digitarray[10];
    int c = 0;
    digitarray[0] = 0;
    digitarray[1] = 0;
    while (secon>0) {
        int digitt = secon % 10;
        digitarray[c] = digitt;
        secon /= 10;
        c++;
    }
        lbl.text = [NSString stringWithFormat:@"%d", digitarray[0]];
          [self selectimage:digitarray[0] img:numview10];
4

1 に答える 1

0

SIGSEGV通常、メモリにアクセスしようとしていること、アクセスが許可されていないことを意味します。(ちなみに、これをリリース ビルドでテストしていますか?) おそらくここに fe (他にもいくつかの同様の場所があります):

c = 0;
while (secon>0) {
    int digitt = secon % 10;
    digitarray[c] = digitt;
    secon /= 10;
    c++;
}

いくつかの可能性があります:

  • secon(恐ろしい変数名...) はまたはfloatですdoublewhile loop
  • digitarrayc がの範囲を超えるほど大きくなる

この問題を解決するには、コードの先頭にブレークポイントを設定し、段階的に確認することをお勧めします。

于 2013-04-16T20:17:49.443 に答える