(toppers-users 341) Re: [BUG?] cfg がリターンコード 139 でエラー
Takayuki WAKABAYASHI
takayuki @ ertl.ics.tut.ac.jp
2002年 1月 9日 (水) 17:09:52 JST
豊橋技術科学大学の若林です。
MURANAKA Masaki さんは書きました:
> さて、アプリケーションを作っていたところ、cfgで引っかかって
> make が通らない状況に出くわしました。
> 終了コードが 139 になっているのが原因のようです。
> ざっとcfgのコードを眺めてみましたが、139の意味が掴めませんでした。
こちらで実行したところ、coreを吐いて落ちてしまいました。
原因は、優先度を文字列として扱っていたことです。
数値として読み出された優先度を、string型へのポインタに
強制キャストしたことによって発生した不正アクセス例外です。
修正後のdiffを末尾に添付します。
もなかさん。いつもありがとうございます。
===================================================================
RCS file: /home/CVS/configurator/jsp/toppers.cpp,v
retrieving revision 1.12
diff -r1.12 toppers.cpp
424,425c424,433
< work = string("INT_PRIORITY(") + *(String *)(Parent->GetParameter(id, PRIORITY)) + ")";
< Parent->SetParameter(id, PRIORITY, new String(work));
---
> val = Parent->GetParameter(id, PRIORITY);
> if(*val == Value::INTEGER)
> {
> sprintf(buffer, "INT_PRIORITY(%d)", (int)*(Integer *)val);
> Parent->SetParameter(id, PRIORITY, new String(buffer));
> }else
> {
> work = string("INT_PRIORITY(") + *(String *)val + ")";
> Parent->SetParameter(id, PRIORITY, new String(work));
> }
+----------------------------------------------+
| Takayuki WAKABAYASHI (わかばやし たかゆき) |
| mailto: takayuki @ ertl.ics.tut.ac.jp |
+----------------------------------------------+
| 豊橋技術科学大学 工学研究科 電子情報工学専攻 |
| 組込みリアルタイムシステム研究室 |
+----------------------------------------------+