[Subject Prev][Subject Next][Thread Prev][Thread Next][Subject Index][Thread Index]

[OSASK 1064] Re: Tips of debug(Re: thaleia0).



やっほぉ、<川合の旦那>
[2000年8月11日(金)]にもろた
【[OSASK 1062] Tips of debug(Re: thaleia0).】への返答っ! 。

川合>>なんとなくイメージはつかめたけど、これからソース見るとまた会社で寝て
川合>>怒られるので、とりあえずほどほどにしときます(*_*)
川合>  はい、ほどほどにしてください。私生活を破壊してはいけません(笑

大丈夫、今日もこっそりいじってたのは内緒です。

川合>>ちなみに私のラーメンタイムはまだ来てません。
川合>>#カウント終了後のメッセージを変えようとしているんだけどうまくいかないのだ!
川合>>前のメールのエラーは私の方のミスのようです。相変わらず同じエラーでしたので。
川合>  橋さんのページの「新聞」を読んで、その後にこのメールを読んで、
川合>苦労している様子が伝わってきました。その苦労に少しでも報いるため
川合>に、デバッグのヒントを書きます。

ちい、せっかく内緒で更新したのにばれてたか。
苦労というか、何も考えずにやるとこうなるという見本になってしまいそうな気が(笑)
#そのうちレポートしましょう。

川合>  現状のASKAで非常にありがちなのが、WORK構造体宣言と初期値リスト
川合>の食い違いです。どういうことかというと、メッセージなどを書き加え
川合>た際に、WORK構造体宣言部分の対応する部分を変更し忘れてしまうこと
川合>です(特に文字列の長さが変わったときにやってしまう)。

う、なんとなーく心当たりが(;^^)

川合>  次にありがちなのは、テキストボックスよりも長い文字列を表示して
川合>しまうことです。本来ならこういう場合にはクリッピングなどの処理を
川合>すべきなのでしょうが、現バージョンではそのような気の利いたことは
川合>なされておりません。あっさり誤動作します。

何回かやった(^^ゞ

川合>  また、デバッグ環境は言うまでもなく貧弱なままで、まともなアプリ
川合>ケーションを作るためには、20回以上の再起動が必要になること請け合
川合>いです。これは現時点では不可避なので、こらえてください。ASKA/OSA
川合>SKができればいいんですが・・・。

これが結構面倒なんだよねぇ。開発用とデバッグ用の別マシンが
あると確かにやりやすいね。
あ、98noteはどうだろう・・・無理かな。

川合>  そこでおすすめなのが、Break Point例外の利用です。表示したい変
川合>数の値をレジスタに代入しておいて、
川合>    INT(0x03);  もしくは、  DB(0xcc);
川合>という一文をかまします。この命令によりアプリは停止してしまいます
川合>が、一度に複数のレジスタが表示できるので僕は重宝しています。

ほうほう、やってみませう。

川合>>ということで、エラーメッセージのメモ取らなかったんだけど、ちいと気になる
川合>>エラーがありました。上の馬鹿アプリ試して相変わらずエラーで止まったんだけど・・・
川合>>Ctrl+Alt+Delが効いてないようです。別のときには効いていたので、
川合>>アプリ側の影響かもしれないけど、気になったので。
川合>>#起動直後に生じたもので、Num他も起動直後一瞬点灯し、消灯。効いていない状態。
川合>>エラーコードはCS EIP:0020だったのも謎・・・(ちとうろ覚え)
川合>>エラーコードメモって再度報告します。
川合>  エラー個所が0020:????????ということは、GAPIでエラーが発生した
川合>ようですが、これは明らかに表示関係でつまずいています。ライブラリ
川合>側でパラメーターチェックをほとんどしないでGAPIに処理を回している
川合>せいです。で、エラー個所がアプリ内(CS = 0x7)でも標準ライブラリ
川合>内(CS = 0xc7)でもない場合は、キーボードリセットが効かなくなる
川合>場合が結構あります。

ほいほい。正確な所は次のとおり。
INT:0x0D
CS:EIP=0020:0000044B EC=00000000
EAX=00000000 ECX=00000006 EDX=000003CE EBX=FFFFFDC0
ESP=FFFFFD4C EBP=FFFFFDAC ESI=000058D2 EDI=00013640
というわけで該当しているみたいです。

川合>  あらゆる努力にも関わらず、バグが取れなかったら、OSASK-MLで相談
川合>するという手もあります。その際、ソースはweb等からダウンロードで
川合>きるようにしておいてください(メールに添付しないでほしいです)。
川合>何を制作中かばれてしまいますから、みんなをびっくりさせることはで
川合>きなくなりますが、デバッグの実例から学べることは少なくないでしょ
川合>う。

りょうかーい。形になったら上げときましょう・・・
とかいいつつ、出来たとしても来週末です。開発環境のない世界に
行ってしまうもので・・・

でわでわ

_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
_/  氏名:もしかしたら橋 直行                                      _/
_/  E-mail:n-hashi !Atmark! interlink.or.jp,PXW06256 !Atmark! nifty.ne.jp             _/
_/_/_/_/_/_/_/_/_/_/_/_/_/-----平成12年08月11日(金曜日) PM10時28分_/_/