[Subject Prev][Subject Next][Thread Prev][Thread Next][Subject Index][Thread Index]
[OSASK 2177] Re: adarrel5, monza5.
小川です。
さっそくですが、気がついたので報告。
的ハズレな事を言っていたらごめんなさい。
> これとは全く別の話です。
>
> 最近のOSASKは、どうも不安定になっているような気がします。調子
> がいい時は何ともないんですが、時々不意に例外を出して止まってしま
> います。同じ状況にしても再現しないし、例外が出る場所や内容も毎回
> 異なっていて、対策が取れずにいます。
テトリス作ってる時も何度か落ちました。
原因ははっきりしていて、
int a[10][20]
と宣言しておきながら
a[50][50]
みたいな事をやった事。
が、即座に死ぬわけではなく別な変数領域を侵したりして、
限界点(?)に達すると落ちます。
これって malloc 領域のはみ出しだけを、チェックしているからなのでは?
テトリスの例だと、壁の判定を加える前にブロックを動かした時に、
Y = 20 正常 (宣言内)
Y = 21 正常 (宣言外)
・・・
Y = 40ぐらい 落ちる
となりました。
デバッグ用にYの値を表示していたのでわかった事です。
なお、Y=25辺り以降はブロックが画面外に行ってしまった事を
付け加えて起きます。VRAM系かも知んないし。
つまり、アプリのどれかに潜在的、かつ致命傷を起こさないバグが潜み、
そいつが引き金となって別な変数が死に・・・という訳です。
よって再現性が現れにくい、と。
> そう遠くないうちに、時間をかけてバグの洗い出しをやろうと考えて
> います(遅くとも年内には決着を付けたいです)。
また何かあったら報告しま〜す。OSASKのバージョンは 1.6です。
ではさいならぁ(^^)/~~~
-------------------------------------------
小川 勲
gyaplus !Atmark! cds.ne.jp
www18.cds.ne.jp/~gyaplus/
-------------------------------------------